c# 错误和异常处理
1.c#中的异常处理使用try-catch-finally机制来实现异常处理,需要注意的是return语句对于异常处理流程的影响。如果return语句是在try
语句块中的话,finally语句块中的代码段是会执行的,但是如果在try代码段中出现exit时,下面的finally是不会执行的,原因就是整个的虚拟
机已经退出了。
2.在c#中如果有多个的异常需要捕获,例如
try
{
throw new Exp1();
throw new Exp2();
}
catch ???
这是在c#的机制(java和c#是相同的)需要首先将最具体的异常类先捕获,然后才是比它稍微抽象的异常类。
3.c#语言中的checked关键字和unchecked关键字,首先这两个关键字都是为了防止在程序的编写中的数字的溢出而产生的,check代码块
或者是一条语句内部如果有那个运算过程中出现了异常的话,直接throw OverflowException,与check相反得是unchecked,
unchecked代码块中或者是一条语句中,所有的运算时不检查是否产生溢出的。下面是两个实例
int maxInt = int.MaxValue;
// unchecked
// {
// maxInt++;
// Console.Write("can excute here\n");
// }
checked
{
maxInt++; // throw exception
Console.Write("can not execute here\n");
}
Console.ReadKey();
作者:许强1. 本博客中的文章均是个人在学习和项目开发中总结。其中难免存在不足之处 ,欢迎留言指正。 2. 本文版权归作者和博客园共有,转载时,请保留本文链接。