.net 4控制台应用程序示例为什么这最后不能执行?
当我在vs 2010中运行它时,它似乎一直在抛出(从catch)并且永远不会到达finally。它打破了投掷并显示了异常,我打了f5,它几乎就像在投掷中循环一样。在另一个exe文件中使用相似的代码,我能够将异常抛出到控制台并执行finally进行清理。情况并非如此,我想知道为什么。
static void Main(string[] args)
{
try
{
throw new Exception("Exception");
}
catch(Exception)
{
Console.WriteLine("Catch");
throw;
}
finally
{
Console.WriteLine("Finally");
}
}
它应该写入“Catch”,然后是“Finally”,然后由于异常而崩溃。发生什么事了吗? –
它的循环因为在你的catch语句中抛出了相同的异常。 –
@ramhound呃,不,一旦你处于“catch”状态,那么投掷并不会让你回到那个“catch”部分的开始! –