0-6 class Worker{/定义一个可以抛出Exceptl,.Except2异常的方法 public void fl(int val)throws Except1,Except2{ switch (val){ casel:throw new Exceptl("Gotcha!"); case2:throw new Except2(“Againnn”);} class Except1 extends Exception{/定义Exceptl异常 private String theMessage; public Except1(String aMsg){ theMessage aMsg; public String toString(){ return“Except1”+theMessage;}
10-6 Programming in Java class Worker {//定义一个可以抛出Except1, Except2 异常的方法 public void f1(int val) throws Except1, Except2 { switch (val) { case1: throw new Except1(“Gotcha!”); case2: throw new Except2(“Againnn”); } } } class Except1 extends Exception {//定义Except1异常 private String theMessage; public Except1(String aMsg) { theMessage = aMsg; } public String toString() { return “Except1” + theMessage; } 示例(1)
冈下州 10- class Except2 extends Exception{/定义Except22异常 private String the Message; public Except2(String aMsg){ theMessage aMsg; public String toString(){ return“Except22”+theMessage;}
10-7 Programming in Java class Except2 extends Exception {//定义Except2异常 private String theMessage; public Except2(String aMsg) { theMessage = aMsg; } public String toString() { return “Except2” + theMessage; } 示例(2)
下⊙ 10-8 public class except_example public static void main(Sting args[]){ Worker dobj new WorkerO; for (inti=0;i<3;++){ try{/异常处理模块 dobj.f1(① System.out.println("No except,"+i);} catch(Except1e){U/捕捉Exceptl:异常 System.out.println(e.toString+i); catch(Except2e){U/捕捉Except2异常 System.out.println(e.toString()+i); finally System.out.println("Finally code");
10-8 Programming in Java public class except_example { public static void main(Sting args[]) { Worker dobj = new Worker(); for (int i = 0; i < 3; i++) { try { //异常处理模块 dobj.f1(I); System.out.println(“No except,” + i); } catch (Except1 e) {//捕捉Except1异常 System.out.println(e.toString() + i); } catch (Except2 e) {//捕捉Except2异常 System.out.println(e.toString() + i); } finally { System.out.println(“Finally code”); } } } } 示例(3)
Java程序在运行时如果引发了一个可识别的错误, 就会产生一个与该错误相对应的异常类的对象,这个 过程被称为异常的抛出 ·系统自动抛出的异常:P252 >系统定义的异常主要用来处理系统可预见的较常见的运 行错误 Public class TestsystemException public static void main(String args [] { int a=0,b=5; System.out.println (b/a); }//throw an ArithmeticException object
10-9 Programming in Java 抛出异常(1) • Java程序在运行时如果引发了一个可识别的错误, 就会产生一个与该错误相对应的异常类的对象,这个 过程被称为异常的抛出 • 系统自动抛出的异常: P252 ¾系统定义的异常主要用来处理系统可预见的较常见的运 行错误 Public class TestsystemException { public static void main(String args[]) { int a=0, b=5; System.out.println(b/a); } }//throw an ArithmeticException object
.语句抛出的异常:P253 修饰符返回类型方法名(参数列表)throws异常类名列表 {.how异常类名.…} int dequeue()throws EmptyQueueException int data; if (isEmpty()) throw(new EmptyQueueException(this)); else data=m FirstNode.getData(; m FirstNode m FirstNode.getNextO; return data;}
10-10 Programming in Java 抛出异常(2) • 语句抛出的异常: P253 修饰符 返回类型 方法名(参数列表)throws 异常类名列表 { … throw 异常类名 … } int dequeue() throws EmptyQueueException { int data; if (isEmpty()) throw (new EmptyQueueException(this)); else { data=m_FirstNode.getData(); m_FirstNode = m_FirstNode.getNext(); return data;}