【Java】Java中自定义的异常
发布日期:2021-06-29 20:54:44
浏览次数:3
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月12日 23时11分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ffmpeg
2019-04-30
XCode编译器介绍
2019-04-30
X86汇编语言从实模式到保护模式14:用户程序编程接口及其实现
2019-04-30
SystemC自带example的simple_perf研习
2019-04-30
SystemC自带example的rsa研习
2019-04-30
Python实用小技巧
2019-04-30
美科学家研发BIC-TCP协议 速度是DSL六千倍
2019-04-30
AIDL使用注意
2019-04-30
SDL以及扩展库的交叉编译过程简介
2019-04-30
SDL arm linux平台交叉编译(好文章已测试)
2019-04-30
linux 常用查看设备命令
2019-04-30
Linux内核及文件系统配置编译 - 关于内核配置
2019-04-30
android应用前期开发之经验总结
2019-04-30
Linux 下zip包的压缩与解压
2019-04-30
Andoird SDK目录解析
2019-04-30
Google Guava官方教程(中文版)
2019-04-30
Guava教程
2019-04-30
The Book of QT4 翻译:1.2 布局,对象层级和内存管理
2019-04-30
麒麟信安UniKylin3.3安装配置pyqt5运行环境
2019-04-30
linux中python3 pip快速搭建pyqt5环境
2019-04-30