Head First C# 中文版 第10章 异常处理 page459

来源:互联网 发布:新疆网络本土歌曲 编辑:程序博客网 时间:2024/05/16 03:19

 

调试器一执行到Deserialize()这一语句就抛出了异常,程序直接跳到了catch块的第一句语句去执行。它直接跳过了对UpdateForm()的调用而跳到了catch块中去。


 

F5来让程序开始运行。这将会重新启动程序,从黄色高亮显示的部分开始,在这儿,也就是catch块了。


 

注意!小心处理构造方法中的异常!


你应该已经注意到了,构造方法没有返回值,甚至连void都没有。这是因为构造方法实际上并不返回任何东西。它的唯一目的就是初始化一个对象--这就是构造方法内异常处理的问题。构造方法中抛出异常的时候,创建该类对象的语句将会无法得到该类的实例。所以你需要把try/catch块移动到按钮的事件处理方法中去。这样做,如果构造方法中出现异常的话,代码就不会预期CurrentExcuse包含一个有效的Excuse对象了。


职业提示:很多C#编程工作的面试中会问到你如何去处理构造方法中的异常。

原创粉丝点击