在Java中,Throwable是Exception和Error: 出现Error的情况下,程序会停止运行。
3358www.Sina.com/分为Exception和RuntimeException。
非运行时异常
RuntimeException可以处理也可以不处理,因为编译无法检测到类异常。
例如
nulpointerexceptionarithmeticexception (或ArrayIndexOutOfBoundException )等。
在这个主题被指控的情况下发生的是RuntimeException,是未检测到的异常,编译器可以不检查、处理该异常。
因此,异常被捕捉或抛出时,程序继续执行。
如果未捕获到异常,则该线程停止执行。
thread.uncaughtexceptionhandler是一个内置接口,用于处理线程由于未捕获的异常而导致的突然中断。
如果线程因未捕获的异常而中断,JVM将使用thread.getuncaughtExceptionhandler ()查询线程的uncaughtexceptionhandler,并将线程和异常作为参数
实例:
1 .未处理的运行时执行在发生异常时程序停止
public class main1{ publicstaticvoidmain (字符串[ ] args ) { int x=1; x=x/0; system.out.println(x='x ); }} 非运行时异常必须处理,比如thread中sleep()时,必须处理InterruptedException异常,才能通过编译。
exceptioninthread ' main ' Java.lang.arithmetic exception 3360/byzeroatmicrosoft 2018.main1. main (main1. Java :14 )
public class main1{ publicstaticvoidmain (字符串[ ] args ) { try{ int x=1; x=x/0; }catch(exceptione ) ({ System.out.println ) (“0错误除外”); e .打印堆栈跟踪(; } }} 输出:
0错误Java.lang.arithmetic exception :/byzeroatmicrosoft 2018.main1. main (main1. Java :14 )除外