博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

2012年11月30日

摘要: 小天:通过刚才多次断点调试,我发现如果没有错误,则无论多少个catch块都不会执行。而发生错误后,它也不会挨个catch块去判断,而是直接找到对应的catch块。能不能详细跟我说下异常处理的系统流程。老田:好的,当你的程序遇到一个非正常情况,比如说内存不足,它就会引发(throw/raise)一个异常。此时,当前的过程调用将挂起,.NET 运行时(CLR)将从下至上搜索过程调用堆栈,以查找相应的异常处理程序。也就是说,如果抛出异常的代码正处于某个 Try 块中,运行时将首先使用本地的 Catch 块(如果有)来处理异常(它将执行在该位置找到的 Catch 块代码),否则这个程序段将被终止并将. 阅读全文

posted @ 2012-11-30 13:34 天轰穿 阅读(468) 评论(0) 推荐(1)