为什么这个C#代码会破坏进程?
据我所知,在从string到int的转换过程中,会抛出FormatException。现在在catch块中,我们重新抛出原始异常。为什么在泛型异常捕获块中没有捕获到这一点?如果我把try/catch放在抛出的周围,那么应用程序就不会崩溃 为什么在泛型异常捕获块中没有捕获到这一点 因为泛型异常块捕获仅在为什么这个C#代码会破坏进程?,c#,C#,据我所知,在从string到int的转换过程中,会抛出FormatException。现在在catch块中,我们重新抛出原始异常。为什么在泛型异常捕获块中没有捕获到这一点?如果我把try/catch放在抛出的周围,那么应用程序就不会崩溃 为什么在泛型异常捕获块中没有捕获到这一点 因为泛型异常块捕获仅在try块内引发的异常,而不捕获从catch块引发的异常 因此,如果您打算从catch块抛出一个异常,并且想要处理它,那么您需要将调用代码包装到另一个try/catch中 为什么在泛型异常捕获块中没有
try
块内引发的异常,而不捕获从catch
块引发的异常
因此,如果您打算从catch
块抛出一个异常,并且想要处理它,那么您需要将调用代码包装到另一个try/catch中
为什么在泛型异常捕获块中没有捕获到这一点
因为泛型异常块捕获仅在try
块内引发的异常,而不捕获从catch
块引发的异常
因此,如果您打算从catch
块抛出一个异常,并且想要处理它,那么您需要将调用代码包装到另一个try/catch中
static void Main(string[] args)
{
try
{
var intValue = "test";
var test = Convert.ToInt32(intValue);
}
catch (FormatException)
{
Console.WriteLine("format exception");
throw;
}
catch (Exception)
{
}
finally
{
Console.WriteLine("finally");
}
}