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

本文介绍C#中的异常处理机制,包括异常类体系、如何自定义异常、捕获异常的方法等,并对比了与Java异常处理的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

11 错误和 异常


异常类

 

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

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

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

 

捕获异常

 

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

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

 

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

 

Java的异同

 

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

不强制一定要处理异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值