Java语言进阶 互动版

throws/throw/finally

如果一个方法没有捕获一个检查性异常,那么该方法必须使用throws 关键字来声明。throws关键字放在方法签名的尾部。

也可以使用throw关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。

下面方法的声明抛出一个RemoteException异常:


import java.io.*;
public class className
{
   public void deposit(double amount) throws RemoteException
   {
      // Method implementation
      throw new RemoteException();
   }
   //Remainder of class definition
}

一个方法可以声明抛出多个异常,多个异常之间用逗号隔开。

finally关键字

finally关键字用来创建在try代码块后面执行的代码块。

无论是否发生异常,finally代码块中的代码总会被执行。

finally代码块中,可以运行清理类型等收尾善后性质的语句。

finally代码块出现在catch代码块最后,语法如下:


 try{
    // 程序代码
 }catch(异常类型1 异常的变量名1){
    // 程序代码
 }catch(异常类型2 异常的变量名2){
    // 程序代码
 }finally{
    // 程序代码
 }

注意下面事项:

  • catch不能独立于try存在。
  • try/catch后面添加finally块并非强制性要求的。
  • try代码后不能既没catch块也没finally块。
  • try,catch, finally块之间不能添加任何代码。