c#中构建异常处理

2016-02-19 16:58 5 1 收藏

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享c#中构建异常处理,希望可以对大家能有小小的帮助。

【 tulaoshi.com - 编程语言 】

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

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

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

  

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 (i27){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块获得。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1613732.html

延伸阅读
http://www.asp888.net 豆腐技术站 我们以前在C++中曾经知道C++中有函数重载的概念,现在在ASp.Net的C#中我们仍然可以使用函数重载的 概念和定义: 假设我们在程序中定义了两个函数:String test(String str1) 而后 int test1(int i),他们的内容都是很 简单的功能 String test(String str1){ Response.Write("函数重载测试,这个是String函数"...
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 关于Hook的详细介绍,在微软的MSDN中有,http://www.microsoft.com/china/community/program/...
如果你用 MFC 编写过多文档界面(MDI)Windows 程序,那么肯定知道:如果父窗口标题为PCaption,子窗口标题为CCaption,那么每当子窗口最大化并处于激活状态时,子窗口标题一般都会与父窗口标题合二为一,变成PCaption-[CCaption]。 这是一种 MDI 的默认行为。用 C# 编写多文档界面程序也不例外。很多用户都不喜欢这种缺省特性,往往想用定...
像Java一样,C#提供了一整套相当丰富的类库、方法以及事件以供开发者使用。C#还引入了GDI+,它是由GDI演变而来的,具有比GDI更强大的功能而且简化了程序员的编程工作。所以开发者运用这些,就可以很方便的开发出具有强大图形图像功能的应用程序了。本文,笔者就通过一些实例像读者介绍一下C#中的图形编程的基本知识。 简单实例: ...
有些书上也称“代表”或“委托”。      C#中取消了指针的概念。对指针恋恋不舍的程序员可以有两种解决方法:声明“非安全”(unsafe)代码段然后在其中使用指针或者使用C#的一个引用类型——“代理”(delegate)。“代理”相当与C中的函数指针原型,区别是C#是类型安全 的。 查看更多精彩>>