Liny_@NotePad

沉迷ACG中

<C#高级编程>第11章笔记

YOYO posted @ 2010年3月11日 18:59 in 【C#】 with tags C#高级编程 异常处理 , 1846 阅读

感觉和Java的异常处理差不多。。

11 错误和异常


异常类

 

C#中异常都派生于System.Exception类,大部分的异常类都在System命名空间中(除了IOExceptionIO相关的异常类放在System.IO命名空间)。

通常异常分成SystemExceptionApplicationException。前者多为.NET运行库抛出,后者是第三方定义的异常类。

用户要自定义异常时直接派生ApplicationException,重写其中的方法即可。

 

捕获异常

 

一样的也是try..catch..finally的语法。规则也是一样。

不同在于由于.NET可以支持多种语言,如果抛出的并非派生于System.Exception的异常(即并非C#代码抛出的异常),此时可以通过不带参数的catch块捕获。

 

若没有捕捉异常,最终.NET运行库会捕获它,代码会即时中断并提示用户代码没有处理异常,同时给出异常信息。

 

Java的异同

 

不必也不能在方法签名后面强制显示可能抛出的异常信息。

不强制一定要处理异常。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter