JAVA常见的五种运行异常 在JAVA中捕获异常后throw自定义异常是不优雅的吗?
在JAVA中捕获异常后throw自定义异常是不优雅的吗?
事实上,这种方法在很多框架中都有使用
1。Rethrow
自定义异常,用于更好地隔离异常,识别异常类型、ID、自定义消息和日志
2。对第三方库的异常进行打包和抽象,以保持与框架异常定义的一致性,方便框架处理不同的异常
3。Restful API,统一异常管理
谢谢
!错误和异常都继承自throwable。
错误是指程序不必处理的系统级错误和异常,如内存溢出,这是程序无法处理的;
异常是指程序需要捕获或处理的异常,这是编程或编码中的问题。
未检查的异常:错误和runtimeException及其子类。Java编译器在编译时不会发现此异常,因此不需要程序来处理此异常。当然,try、catch和finally也可以用来处理这个异常。当出现这样的异常时,大多数都是代码编写中的问题,应该通过修改代码而不是捕获来解决,比如ClassCastException、NullPointerException等
Checked exception:除了error和runtimeException。Java编译器在编译时会发现这种异常,因此必须对这种异常进行预处理,即使用try、catch和finally来处理这种异常,或者用throws子句将其抛出到上层,否则编译将无法通过。这种异常通常是由运行环境引起的。
java常用的异常类有哪些?
1. 算术异常-在算术运算中,除以0或模。
2. ArrayIndexOutOfBoundsException—数组越界访问。
3. Arraystoreexception—写入数组操作时数据存储异常、对象或数据类型不兼容。
4. ClassCastException—类型转换异常。
5. Illegalargumentexception-方法的参数无效。
6. Illegalthreadstateexception—试图非法更改线程的状态,例如试图启动已运行的线程。
7. NullPointerException-试图访问空对象的空数组的变量、方法或元素
8。Numberformatexception—数据格式异常,试图非法将字符串转换为数值(反之亦然)。
9. SecurityException—如果小程序尝试执行WWW浏览器安全设置禁止的操作。
10. 不兼容的classchangeexception—如果更改类的定义而不重新编译引用该类的其他对象。例如,成员变量的声明从静态更改为非静态,但引用该变量的其他类不会重新编译,反之亦然。
11. OutOfMemoryException—内存不足,通常在创建对象时。
12. Noclassdeffoundexception-Java运行时系统找不到引用的类。
13. 不兼容的typeexception—试图实例化Java运行时系统将抛出的接口。
14. 如果要调用的方法是C函数,但Java运行时系统无法连接到该函数。
15. 内部异常-由内部系统故障引起的异常,这可能是由于Java运行时系统本身引起的。如果你发现一个可复制的内部异常,你可以直接给sun发邮件java@java.Sun.com.
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。