什么是异常机制:
仅个人理解,如果有误,欢迎指出QAQ
Java异常是Java提供的一种识别及响应错误的一致性机制,Java异常机制可以使程序中异常处理代码和正常业务代码分离,提高程序健壮性。异常分为Exception和Error,Error是指那些程序中无法处理的错误,一般为代码运行时JVM出现问题,是不可查异常(编译器不要求强制处理),非代码性错误,发生Error时JVM将结束线程;Exception是程序本身可以捕获并可以处理的异常,分为运行时异常RuntimeExecption和编译异常,运行异常是不可查异常,程序中可以使用try-catch或threws threw来捕获,也可选择不处理,这一般是代码性逻辑错误。编译异常是除了运行时异常外的异常,是可查异常,必须通过try-catch捕获或threws、threw抛出处理完才能通过编译。try-catch-finally的执行顺序是先执行try代码块里的代码,如果出现异常则停止执行try模块,转去匹配第一个符合的catch并执行该代码块,最后在执行finally里的代码块,不论是否有捕获到异常,finally都会被执行,所以资源关闭一般放在finally中,因为放在try中可能因异常而没有执行到。try-catch中即使有return也一定会执行finally,但不要再finally里使用return。异常是十分耗时的,建立异常对象的时间为建立普通对象的20倍左右,而抛出、捕获异常又是建立异常对象的4倍。