今日学习情况:理解
心情:80%
异常处理
异常的最顶级的 Throwable:包括错误和异常Error:大部分错误都会是程序处于非正常情况下,Java程序处理之外。Exception:在Java语言中,将程序执行中执行中不正常的情况称为异常编译期异常:写代码的时候的异常,编译期不解决就编译不通过运行期异常:RuntimeException 。自定义异常:Java异常机制在实际业务中不完善,自定义异常的方法:所有的自定义异常不许是Throwable子类、编译期异常要继承Exception、运行期异常要继承RuntimeException。
捕获异常
使用 try 和 catch 关键字可以捕获异常。try/catch 代码块放在异常可能发生的地方。try/catch代码块中的代码称为保护代码,finally可以放在cathch以后,当捕获异常后就会先执行catch,再执行finally。使用 try/catch 的语法如下:
try { // 程序代码 }catch(ExceptionName e1) { //Catch 块 }finally{ //finally块 }
throws/throw
如果一个方法没有捕获到一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。
也可以使用 throw 关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。
下面方法的声明抛出一个 RemoteException 异常:
import java.io.*; public class className { public void Demo(d) throws RuntimeException { throw new RuntimeExceptio(); } }
声明自定义异常
在 Java 中你可以自定义异常。编写自己的异常类时需要记住下面的几点:
所有异常都必须是 Throwable 的子类。
如果希望写一个检查性异常类,则需要继承 Exception 类。
如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。
可以像下面这样定义自己的异常类:
class MyException extends Exception{ }
只继承Exception 类来创建的异常类是检查性异常类。
下面的 InsufficientFundsException 类是用户定义的异常类,它继承自 Exception。
一个异常类和其它任何类一样,包含有变量和方法。