1、描述事件添加流程。
1、确定事件源
2、确定监听器
3、注册吗,建立事件源与监听器的联系
2、什么是异常?如何捕获异常?
描述出错信息的对象叫做异常。
通过try…catch语句里的catch块捕获异常信息。
3、异常的类结构是怎样的?错误和异常各自有什么特点?
类结构是由try…catch语句执行,其中try块中是检查代码,而catch块则是根据代码的异常情况,抛出异常信息。错误Error是能捕获,但是不能处理,而Exception是能捕获,能处理。
4、异常执行的顺序是怎样的?
先执行try块,顺序执行。如果try块中有异常抛出,则转向catch块执行。同时中止try块中其余的代码,当try…catch执行完后,继续执行try…catch之后的代码。
5、throw和throws 的区别是什么?
throw是一条语句,表示显示抛出一个异常对象。如:throw new Exception();
throw是方法修饰符,表示该方法可能会抛出某种异常,这时,如果调用该方法,则必须处理该方法抛出的异常。
6、异常有几种?如何区分?
异常分为编译期异常和运行期异常。
编译期异常:要求用户必须用try…catch捕获的,如果用户不捕获,则编译错误。
运行期异常:用户可以捕获,也可以不捕获,不捕获也不会有编译错误,所有的运行期异常都是RuntimeException的子类。
7、finally一般在什么时候使用?是不是任何时候都会执行finally块?
Finally 是无论是否有异常都会执行的语句块,如果在 try 或 catch 中,有 return 语句, finally 会跳出方法前执行,只有在 try 或 catch 中程序结束, finally 才不会执行。 finally 一般用于资源清理工作,如:流的关闭,数据库的关闭等。