如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
C#面向对象编程(五)异常处理berry博客:www.seo47.com5.7异常处理在C#中,每个异常类都代表了一种运行错误,类中包含了该错误的信息和处理错误的方法等内容。所有的异常都表现为一个类的实例,这个类为System.Exception。Exception类有自己的方法和属性。常用的构造方法有两个:publicException();publicException(strings);//该方法可以接受信息,以对异常所对应的错误进行描述。Exception类还有两个属性:Message:描述错误的可读文本,可以在创建异常时传递给构造方法,如果没有则将使用默认错误信息。StackTrace:发生异常时调用堆栈的状态,包括错误发生位置的堆栈跟踪、所有调用的方法和源文件中这些调用所在的行号。系统定义的经常用到的异常5.7.2对异常进行处理—throw、try、catch、finally2、try-catch语句:当try中的语句产生异常时,系统在catch子句中进行查找,看抛出的异常是否和哪个子句的异常的对象类型相同(或是派生类),如果找到了就执行该子句中的语句;如果没找到就产生一个未处理的异常错误,则运行时系统将终止。usingSystem;classMyclass{publicstaticvoidMain(){Myclassx=newMyclass();try{strings=null;x.Test(s);}3、finally语句:为异常提供一个统一的出口,不论try语句块及catch语句块中是否发生了异常,也不论出现任何语句(即使有return或throw),finally子句都会被执行。Finally经常用于对资源做清理工作如关闭文件等,finally中不允许出现return。异常举例1.异常举例2.5.7.3用户自定义异常类publicclassTest{publicstaticvoidregist(intnum){if(num<0){Console.WriteLine(“登记号码“+num);throw(newMyException(“号码为负值,不合理”,3);}}publicstaticvoidmanager(){try{regist(-100);}catch(MyExceptione){Console.WriteLine(“登记失败”+e.getId());}Console.WriteLine(“本次登记操作结束”);}publicstaticvoidMain(){Test.manager();}}5.7.4算术溢出及检查例3.