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

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

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

声明异常的语句如下。

class 异常类名 :Exception

{

}

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

throw( 异常类名 );

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

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

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

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

class MyException :Exception

{

public MyException(string message) : base(message)

{

}

}

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

private void button1_Click(object sender, EventArgs e)

{

try

{

int age = int.Parse(textBox1.Text);

if (age < 18 || age > 45)

{

throw new MyException("年龄必须在18~45岁之间!");

}

else

{

MessageBox.Show("输入的年龄正确!");

}

}

catch(MyException myException)

{

MessageBox.Show(myException.Message);

}

catch(Exception ex)

{

MessageBox.Show(ex.Message);

}

}

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

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

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

mysql 自定义抛出异常_C#自定义异常(throw抛出异常)相关推荐

  1. java抛异快捷键_Java 如何抛出异常、自定义异常、手动或主动抛出异常

    public static voidmain(String[] args) {try{throw new Exception("抛出异常"); }catch(Exception e ...

  2. java自定义异常类_Java抛出异常与自定义异常类应用示例

    本文实例讲述了Java抛出异常与自定义异常类.分享给大家供大家参考,具体如下: 异常处理常用方法: 常用的异常处理方法有: 一.try()catch() 语句 二.throw / throws 语句 ...

  3. java throw抛出异常

    1.throws关键字通常被应用在声明方法时,用来指定可能抛出的异常.多个异常可以使用逗号隔开.当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象.如下面例子所示: public cl ...

  4. C++的throw抛出异常机制

    关于C++的"抛出异常"机制: 关键点: (1)throw是将抛出的表达式的值拷贝到"异常对象"中,catch则是根据异常对象进行参数匹配并处理异常: (2)t ...

  5. python网络编程-异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-03

    python网络编程-异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-03 参考文章: (1)python网络编程-异常处理-异常捕获-抛出异常-断言-自 ...

  6. java学习中,异常和错误的简介、捕获异常、抛出异常、自定义异常、finally关键字(java 学习中的小记录)

    java学习中,异常和错误的简介.捕获异常.抛出异常.自定义异常.finally关键字(java 学习中的小记录) 参考文章: (1)java学习中,异常和错误的简介.捕获异常.抛出异常.自定义异常. ...

  7. Java 如何抛出异常、自定义异常、手动或主动抛出异常

    Java 如何抛出异常.自定义异常.手动或主动抛出异常 参考文章: (1)Java 如何抛出异常.自定义异常.手动或主动抛出异常 (2)https://www.cnblogs.com/panchang ...

  8. java抛出异常的方法_Java抛出异常处理的示例详解

    这篇文章主要介绍了java 抛出异常处理的方法的相关资料,throws关键字通常被应用在声明方法时,用来指定可能抛出的异常,这里就讲下如何使用,需要的朋友可以参考下 java 抛出异常处理的方法 为了 ...

  9. 安装MYSQL自定义安装路径

    安装MYSQL自定义安装路径 MYSQL8.0版本,使用开发者默认安装的话,会自动安装到C盘,有点小介意,所以又卸载重新安装了,卸载过程中遇到了一些小问题,MySQL Connector NET无法卸 ...

最新文章

  1. Extjs 基础篇—— Function基础
  2. struts2学习笔记--使用servletAPI实现ajax的一个小Demo
  3. 【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CPU 渲染过程 | Layout Inspector 工具 | View Tree 分析 | 布局组件层级分析 )
  4. 在计算机领域里,只有想不到,没有做不到
  5. 【算法基础】坚持刷题678天的感受!
  6. java学习(47):带参无返回
  7. HTML里面Textarea换行总结
  8. 虚拟机VMware搭建代码环境
  9. 降价200!华为部分手机已取消充电器和数据线,网友表示可以接受
  10. 小程序自定义tabbar占位问题
  11. SQL SERVER 报表开发工具入门教程
  12. python无限循环小数是有理数吗_证明:所有无限循环小数都是无理数
  13. ArcGIS Pro 专题图制作
  14. 笔记本电脑windows10有线连接开无线热点方法已经成功
  15. 新入手Seagate希捷1TB移动硬盘1t USB3.0一个
  16. Mencoder MPlayer 参数详解
  17. AspNetCore3.1 在CentOS 用docker发布 踩坑辛酸史
  18. WinDbg 常用指令
  19. 果园大二下英方课学习姿势
  20. windows 任务栏桌面消失怎么办

热门文章

  1. 图片上传之FileAPI与NodeJs
  2. MinGW+Lua环境配置小结
  3. 一起谈.NET技术,在Mono 2.8上部署ASP.NET MVC 2
  4. 国庆广州(羊城)之旅
  5. Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart
  6. linux 定时任务 crontab服务 启动 停止 重启
  7. linux lsof 已打开的文件列表
  8. Linux ps命令详解与示例说明
  9. VC 利用DLL共享区间在进程间共享数据及进程间广播消息
  10. VC6如何使用VS2005中的CImage类功能