C# Exception整理...

本文介绍了.NET框架中的异常处理机制,包括整体模式、SystemException及ApplicationException两大类异常,并通过实例展示了用户自定义异常PageCannotFindException的创建、抛出与捕获过程。

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

1, 整体模式
Exceptions
PS:以上所有异常都在system命名空间里,除了IOException及其派生Excpetion在system.IO内
从图中可以看出异常主要分为2类,SystemException和ApplictaionException
SystemException:通常有.Net运行库生成
ApplictaionException:是用户定义异常的基类,可用于定义应用程序一些独有的异常

2, SystemException
大部分都可以由其名字猜出作用
StackOverflowException:这样的异常往往发生在递归以及死循环,造成分配给堆栈的内存区域已满,这种情况下甚至不会执行finally区域。
OverflowException:比如checked环境下要把-40的int转换为uint数据, 其基类即为计算异常基类。
其他的看单词基本就能猜到了

3,ApplicationException

public class PageCannotFindException : ApplicationException
{
public PageCannotFindException(string pageName)
: base("Cannot find page: " + pageName)
{
}
public PageCannotFindException(string pageName, Exception innerException)
: base("Cannot find page: " + pageName, innerException)
{
}
}
上面是一个简单的用户异常类

而是用的时候也是基本跟预定义的一样
捕获:

try
{
...
}
Catch(PageCannotFindException  ex)
{
...
}

抛出:

Catch(Exception ex)
{
throw new PageCannotFindException(pageName, ex);
}

转载于:https://www.cnblogs.com/whoseyourlady/archive/2009/09/24/1573195.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值