【Java】Java中自定义的异常
发布日期:2021-06-29 20:54:44
浏览次数:2
分类:技术文章
本文共 1884 字,大约阅读时间需要 6 分钟。
package com.ceac.deng;public class T10Exception { public static void main(String[] args) { Number number = new Number(); try { number.divided(2, 0); } catch (A e) { // TODO Auto-generated catch block System.out.println(e.getMessage()); e.printStackTrace(); } catch (B e) { // TODO Auto-generated catch block System.out.println(e.getMessage()); e.printStackTrace(); }finally{ System.out.println("finally"); } }}//异常Aclass A extends Exception{ public A(String message) { super(message); } }//异常Bclass B extends Exception{ public B(String message) { super(message); }}class Number { public int divided(int x, int y) throws A, B { if (y < 0) { throw new A("输入的除数不能小于0"); } if (y == 0) { throw new B("输入的除数不能为0"); } return x / y; } }
- [总结]
- 1.自定义异常:
- class 异常类名 extends Exception
- {
- public 异常类名(String msg)
- {
- super(msg);
- }
- }
- 2.标识可能抛出的异常:
- throws 异常类名1,异常类名2
- 3.捕获异常:
- try{}
- catch(异常类名 y){}
- catch(异常类名 y){}
- 4.方法解释
- getMessage() //输出异常的信息
- printStackTrace() //输出导致异常更为详细的信息
- */
如果jdk里面没有提供的异,我们就要自己写.我们常用的类ArithmeticException,NullPointerException,NegativeArraySizeException,ArrayIndexoutofBoundsException,SecurityException这些类,都是继承着RuntimeException这个父类,而这个父类还有一个父类是Exception.那么我们自己写异常类的时候,也是继承Exception这个类的.
实践:
class MyException extends Exception { //继承了Exception这个父类
private int detail; MyException(int a) { detail = a;} public String toString() { return "MyException[" + detail + "]"; }} class ExceptionDemo { static void compute(int a) throws MyException { System.out.println("调用 compute(" + a + ")"); if(a > 10) throw new MyException(a); System.out.println("常规退出 "); } public static void main(String args[]) { try { compute(1); compute(20); } catch (MyException e) { System.out.println("捕捉" + e); //这样就可以用自己定义的类来捕捉异常了 }}}如果你开发程序用到好多组件,或其它厂商的东西.那么出现的异常会是莫明其妙的,这样的话会给调试带来很大的不便.往往在开发的过程中会写很多自定义的异常类.
总结: 异常处理机制保证java程序的正常运行,具有较高安全性的重要手段.对于开发良好的编程习惯是非常重要的.
转载地址:https://dengjin.blog.csdn.net/article/details/41479177 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月26日 01时18分59秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
纯CSS实现分栏宽度拉伸调整
2019-04-30
Table表格的一些记录
2019-04-30
li相关整理:如何改变li前面点的颜色和如何去掉li的点
2019-04-30
ElementUI form表单 左侧label对齐注意事项
2019-04-30
高德地图开发自定义地图样式
2019-04-30
cron表达式整理--1
2019-04-30
vue学习笔记之vue深入响应式原理
2019-04-30
vue学习笔记之路由(Vue Router)安装
2019-04-30
vue学习笔记之路由起步实例
2019-04-30
vue学习笔记之动态路由匹配
2019-04-30
Vue学习笔记之嵌套路由
2019-04-30
Vue学习笔记之路由编程式的导航
2019-04-30
Vue学习笔记之命名路由
2019-04-30
Vue学习笔记之路由命名视图
2019-04-30
Vue学习笔记之路由的重定向和别名
2019-04-30
Vue学习笔记之路由组件传参
2019-04-30
Vue学习笔记之路由导航守卫
2019-04-30
Vue学习笔记之路由元信息
2019-04-30
Vue学习笔记之路由过渡动效
2019-04-30
Vue学习笔记之路由数据获取
2019-04-30