概述
1. 异常体系
Throwable 类是java语言中所有Error类与Exception类的超类(superclass)。除RuntimeException类和Error类及它们的子类之外,Throwable类及其子类称为检查异常(checked exception)。
RuntimeException类和Error类及它们的子类,被称为非检查异常(unchecked exception)。当JVM产生并抛出Error异常时,指示系统出现了严重的问题,而一个合理的应用程序都不应该捕获该异常,应该不catch,或者catch后抛出。
Java异常体系继承图如下,
2.异常示例
2.1 非检查异常(运行时异常)NullpointException
@Test
void nullPointExceptionTest(){
Staff staff = null;
staff.getAge();
}
执行结果
java.lang.NullPointerException
at ...
2.2 可检查异常 ClassNotFoundException
@Test
void classNotFoundException(){
try {
Annotation[] hellos = Class.forName("Hello").getAnnotations();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
执行结果
java.lang.ClassNotFoundException: hello
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:340)
at ...
2.3 非检查异常(Error子类)StackOverflowError
int stackDeep = 0;
@Test
void stackOverflowErrorTest(){
getName("hello");
}
private String getName(String name){
stackDeep++;
System.out.println("Stack Deep: "+stackDeep);
return getName(name);
}
执行结果
Stack Deep: 5287
java.lang.StackOverflowError
at java.base/java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:585)
at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:301)
at java.base/sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:290)
at java.base/sun.nio.cs.StreamEncoder.write(StreamEncoder.java:131)
at java.base/java.io.OutputStreamWriter.write(OutputStreamWriter.java:208)
at java.base/java.io.BufferedWriter.flushBuffer(BufferedWriter.java:120)
at java.base/java.io.PrintStream.writeln(PrintStream.java:722)
at java.base/java.io.PrintStream.println(PrintStream.java:1028)
at ...
最后
以上就是精明小猫咪为你收集整理的Java异常体系-Throwable、Error、Exception的全部内容,希望文章能够帮你解决Java异常体系-Throwable、Error、Exception所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复