exception、runtimeException、error

来源:互联网 发布:linux system 和 execl 编辑:程序博客网 时间:2024/06/16 06:46
try、catch、finally均不能单独存在,有如下三种用法:(1)try{}catch(){}finally{};(2)try{}finally{};(3)try{}catch(){}

在一个语句块中throw语句后不能有其他语句,因为throw后的语句是不可达的,catch块中有throw语句时,如果后面还有finally块,会先执行finally块。

异常非为两种:受检查异常和运行时异常
运行时异常即runtimeexception,其特点是Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try……catch捕获,也没有用throws抛出,还是会编译通过,如除数为零的ArithmeticException;
受检查异常如果没有try……catch也没有throws抛出,编译是通不过的

运行时异常表示无法让程序恢复运行的异常,导致这种异常的原因通常是由于执行了错误的操作,一旦发现错误,建议让程序终止,当然,运行时异常是可以通过try……catch捕获的,捕获后亦可进行相应的处理操作。

运行时错误:Error,通常是由Java虚拟机抛出的,如OutOfMemoryError,其和运行时异常的相同之处是:Java编译器不去检查他们,当程序运行时出现它们都会终止运行。

对于运行时异常,一般不用try……catch捕获,而是在程序开发调试阶段,尽量去避免这种异常,一旦发现该异常,正确的做法就是改进程序设计的代码和实现方式,修改程序中的错误。也可通过捕获的方式解决。

对于error,应该在出问题后,在程序外的地方找解决方案,跟程序本身无多大的关系。
原创粉丝点击