thowable类:
Thowable类有两个子类:Exception和Error。
Error类是所有java错误类的父类,Exception类是所有异常的父类,包括运行时异常和检查异常。
try后面允许接口多个catch。
try / catch关键字的代码块把可能产生的异常的代码“包围起来”,其中的代码也被称为“被保护的代码”。
当子类继承父类时,应先写子类的catch块。
当两个异常有继承关系的时候,子类异常应该放前面。
finally关键字
不管是否关系异常,都必须要执行的代码,写到finally里面。
finally中书写不管是否发生异常都必须要执行的代码,就算前面有return。
break等跳转语句,也要先执行finally,再跳转。
资源的清理,通道的关系,各种链接用玩以后的关闭。都用finaliy.
debug调试。设置断点,按F6,进入某个方法按F5。不想调试了按F8,退出调试,程序继续往下走。
查看断点前的变量的属性,ctrl+shift+i,
throw是写在方法体当中的,后面接的是一个异常对象,一旦执行这句代码,就会真正的发生异常抛出的动作。
throw语句将导致当前代码立即停止执行,而且异常将被抛给调用栈中的前一个方法。
throws是写在方法申明的最后,后面跟的是异常类的类名,可以跟多个,中间用“,”分隔。警告方法的调用者本方法可能抛出某些异常。
当throw后面为运行时异常,不会强加throws,就算自己加,方法调用者也不会受到警告。当为编译异常会强制要求本方法后面的申明部分加throws。
用户自定义异常:
所有的异常必须是Trowable的子类,
如果我们想编写一个可以自动被异常处理或申明规则强制的检查异常,就需要继承Exception类。
如果想编写一个运行时错误,就需要继承RuntimeException类。
如果我们想编写一个不想让用户处理或申明的异常,就应该通过继承RuntimeException类来使它成为一个运行时异常。