当前位置:首页 > 全部子站 > 备课网 > 学院

c#里面构建异常处理

来源:长理培训发布时间:2017-08-20 19:47:44

  异常是程序运行中发生的错误,异常处理是程序设计的一部分。在c#中异常处理是通过Exception基类进行的,可以创建自己的异常类,但这个类必须是继承自Exception基类。 

   异常将导致不完善或者不需要的结果,因此在程序设计中需要处理异常。异常也可以是象"IndexOutOfBounds"这样的错误,这个错误表示程序试图访问数组中部存在的元素;比如数组最大元素为100,当试图访问元素101时就将会发生这样的错误。但这些都是内建的异常,可以直接通过Exception基类处理,如果发生的异常不是内建的,那么就需要我们自己见一个异常处理类,当然这个类时继承自Exception基类。 

   下面的程序定义了一个自己的异常类: 

using System; 
public class MyException:Exception 

public string s; 
public MyException():base() 

s=null; 

public MyException(string message):base() 

s=message.ToString(); 

public MyException(string message,Exception myNew):base(message,myNew) 

s=message.ToString();// Stores new exception message into class member s 

public static void Test() 

string str,stringmessage; 
bool flag=false; 
stringmessage=null; 
char ch=' '; 
int i=0; 
Console.Write("Please enter some string (less than 27 characters) - "); 
str=Console.ReadLine(); 
try{ 
ch=str[i]; 
while (flag==false) 

if (ch=='r') 

flag=true; 

else{ 
ch=str[i]; 
i++; 



catch(Exception e){ 
flag=true; 


if (i>27) 

stringmessage="你的输入不能超过27个字 !"; 
throw new MyException(stringmessage); 


public static void Main() 

try 

Test(); 

catch(MyException e) 

Console.WriteLine(e.s); 




   上面的代码建立了一个新的继承于Exception基类的异常类叫MyException,这个类有三个过载构造函数,采用三个构造函数的目的十分简单:为了能够过载基类的构造函数。基类中缺省的和已经实现的构造函数必须在继承类中实现,但是我们设计这个类的真正目的是:当用户输入超过27 个字就显示一段错误提示信息,提醒用户输入不能超过27个字。虽然这更像是数据验证而不是一个真正的异常但却是一个比较好的例子,新的异常MyException被函数Test()抛出,通过该方法信息"你的输入不能超过27个字"被main()的catch块获得。  

责编:杨粟梅

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部