String,StringBuffer,SrtingBuilder的区别
目录
- java异常
java异常
异常处理机制主要回答了三个问题
- what:异常类型回答了什么被抛出
- where:异常堆栈跟踪回答了在哪抛出
- why:异常信息回答了为什么抛出
Java的异常体系
RuntimeException:不可预知的,程序应当自行避免
- NullpointException——空指针异常
- ClassCastException——类型强制转换异常
- IllegalArragumentException——传递非法参数异常
- IndexOutOfBoundsException——下标越界异常
- NumberFormatException——数字格式异常
非RuntimeException:可预知的,从编译器校验的异常
- ClassNotFoundException——找不到指定的class的异常
- IOException——IO操作异常
Error
- NoClassDefFoundError——找不到class定义的异常
- StackOverflowError——深递归导致栈被耗尽而抛出的异常
- OutOfMemoryError——内存溢出异常
NoClassDefFoundError的成因:
- 类依赖的class或者jar不存在
- 类文件存在,但是存在不同的域中
- 大小写问题,javac编译的时候是无视大小写的,很有可能编译出来的class文件就与想要的不一样
从责任角度看:
- Error属于JVM需要负担的责任
- RuntimeException是程序应该承担的责任
- Check Exception可检查异常是Java编译器应该负担的责任
Error和Exception的区别
从概念角度解析Java的异常处理机制
- Error:程序无法处理的系统错误,编译器不检查
- Exception:程序可以处理的异常,捕获后可能恢复
- 总结:前者是程序无法处理的错误,后者是可以处理的异常
原文地址:https://www.cnblogs.com/echola/p/11153017.html
时间: 2024-10-02 00:38:44