为什么不能使用三元运算符重新抛出?

时间:2018-08-07 14:26:23

标签: c# exception-handling try-catch throw c#-7.0

在C#7中,我们可以这样写:

var a = 1 < 2 ? "true" : throw new Exception();

为什么我们不能重新投掷?例如:

try
{
    var er = 1/0;
}
catch (Exception ex)
{
    var a = ex.InnerException == null ? ex.Message : throw;
}  

据我对使用try-catch-throw的标准理解,在传递到try-catch的{​​{1}}块中有一些«context»(包含抛出的异常)作为非显而易见的论点。不是吗?


与null运算符-throw相同的问题。

0 个答案:

没有答案