日期:2014-05-18  浏览次数:21010 次

C#中发生了异常,程序不停止吗

如图所示:为什么发生异常后,执行了catch,finally后程序不结束,反而继续往下执行呢。

------解决方案--------------------
当异常被catch之后就不会结束,除非catch里又把异常再throw出来
------解决方案--------------------
因为你自己catch到了,异常是在try里面抛出来的,然后你马上捕捉到了,他就会停止执行抛出异常的地方到try结束大括号部分的代码,然后进入catch部分。就好比catch是应急方案,当try发生异常,catch部分的代码是备用解决方案。他调用了你的备用方案,所以不报错。如果try不发生异常,catch部分的代码是不会执行的。
------解决方案--------------------
try catch
是个异常处理机制。

catch模块用于处理程序出现逻辑或位置错误的时候的处理。
如果在try块出现异常, 并且catch捕获到该异常,
程序不会终止运行。
------解决方案--------------------
try{}catch{}本来就是用来捕获异常情况的,如果你的异常情况没有被捕获,抛出,那么程序就没办法继续运行,也就中止了,现在你的异常已经被捕获了,所以程序不会中止!