1、异常的API结构是怎样的?Error和Exception有什么区别?
java.lang.Throwable是所有异常的父类。其中错误Error,是能捕获但不能处理。而Exception,是能捕获,能处理。
2、异常的执行顺序怎样?如果在try块中有return,finally会执行吗?
首先执行try块,顺序执行。如果在try块中,有异常抛出,则转向catch块执行。同时中止try块中其余代码。当try...catch执行完后,继续执行try...catch之后的代码。
3、finally是否在任何时候都会执行?
finally是无论是否有异常都会在try...catch执行完后执行。只有在try...catch中,程序结束,finally不执行。
4、throw 和throws的区别是什么?
throw是一条语句,表示显示抛出一个异常对象。
throws是方法修饰符,表示该方法可能抛出某种异常。如果调用该方法,则必须处理方法抛出的异常。