|
public class Test { public static void main(String[] args) { try { if(true) { throw new InterruptedException(); //throw new NullPointerException(); //throw new ClassCastException(); } } catch(NullPointerException e) { System.out.println(1); } catch(RuntimeException e) { System.out.println(2); } catch(Exception e) { System.out.println(3); } } } |
public class Test { public static void main(String[] args) { try { /* boolean b = false; if(b) { throw new InterruptedException(); } */ } catch(InterruptedException e) {//受检查异常 System.out.println(1); } } } |
public class Test { public static void main(String[] args) throws InterruptedException { try { //try和catch处理不了这个异常,那么它就会返回,但方法没有声明这个异常就编译不通过 throw new InterruptedException(); } catch(RuntimeException e) { System.out.println(1); } } } |
public class Test { public static void main(String[] args) { try { throw new InterruptedException(); } catch(Exception e) { // 可以在catch中抛出异常 throw new RuntimeException(); } } } |
public class Test { public static void main(String[] args) { System.out.println(fun()); } public static int fun() { int i = 1; try { i++; if(false) { return i; } if(false) { throw new Exception(); } } catch(Exception e) { i++; if(true) { return i; } } finally { //当finllay插入执行时,它就好像是一个调用的方法一样。 //在finally中使用的所有变量,都是copy过来的。 //在finally中使用了几个变量,那么就相当于finally这个方法中有几个形参,这都需要实参copy。 i++; System.out.println("finally: " + i); } return i; } } |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |