感谢 ♥ 作者
先不感谢了

请描述下Java的异常体系

异常体系如下:

 

 

Error是虚拟机内部错误

栈内存溢出错误:StackOverflowError(递归,递归层次太多或递归没有结束)
堆内存溢出错误:OutOfMemoryError(堆创建了很多对象)

Exception是我们编写的程序错误

RuntimeException:也称为LogicException
为什么编译器不会要求你去try catch处理?
本质是逻辑错误,比如空指针异常,这种问题是编程逻辑不严谨造成的
应该通过完善我们的代码编程逻辑,来解决问题

非RuntimeException:

编译器会要求我们try catch或者throws处理
本质是客观因素造成的问题,比如FileNotFoundException
写了一个程序,自动阅卷,需要读取答案的路径(用户录入),用户可能录入是一个错误的路径,所以我们要提前预案,写好发生异常之后的处理方式,这也是java程序健壮性的一种体现
posted @ 2020-11-05 09:53  MJyc  阅读(87)  评论(0编辑  收藏  举报