一直学一直嗨,一直嗨一直学

C#自定义异常(throw抛出异常)

虽然在C#语言中已经提供了很多异常处理类,但在实际编程中还是会遇到未涉及的一些异常处理。

例如想将数据的验证放置到异常处理中,即判断所输入的年龄必须为18〜45,此时需要自定义异常类来实现。

自定义异常类必须要继承Exception类。

声明异常的语句如下。

class异常类名:Exception
{
}

抛出自己的异常,语句如下

throw(异常类名);

下面通过实例来演示自定义异常的应用。

【实例】自定义异常类,判断从文本框中输入的年龄值处于18〜45。

根据题目要求,设计一个Windows窗体,界面如下图所示。

验证年龄的窗体设计

编写自定义异常类,代码如下。

classMyException:Exception{publicMyException(stringmessage):base(message){}}

在“验证”按钮的单击事件中根据输入的年龄判断是否抛出自定义异常,代码如下。

privatevoidbutton1_Click(objectsender,EventArgse){try{intage=int.Parse(textBox1.Text);if(age<18||age>45){thrownewMyException("年龄必须在18~45岁之间!");}else{MessageBox.Show("输入的年龄正确!");}}catch(MyExceptionmyException){MessageBox.Show(myException.Message);}catch(Exceptionex){MessageBox.Show(ex.Message);}}

运行该窗体,若在窗体上输入不符合要求的年龄,效果如下图所示。

使用自定义异常

从运行效果可以看出,若在文本框中输入的年龄不在18〜45岁即会抛出自定的异常。

自定义异常也继承自Exception类,因此如果不直接处理MyException异常,也可以直接使用Exception类来处理该异常。

Tags:, ,