1 /* 2 throw:如果出现了异常情况,我们可以把该异常抛出,这个时候的抛出的应该是异常的对象。 3 4 throws和throw的区别(面试题) 5 throws 6 用在方法声明后面,跟的是异常类名 7 可以跟多个异常类名,用逗号隔开 8 表示抛出异常,由该方法的调用者来处理 9 throws表示出现异常的一种可能性,并不一定会发生这些异常 10 throw 11 用在方法体内,跟的是异常对象名 12 只能抛出一个异常对象名 13 表示抛出异常,由方法体内的语句处理 14 throw则是抛出了异常,执行throw则一定抛出了某种异常 15 16 异常处理的原则:如果该功能内部可以将问题处理,用try,如果处理不了,交由调用者处理,这是用throws 17 区别: 18 后续程序需要继续运行就try 19 后续程序不需要继续运行就throws 20 举例: 21 感冒了就自己吃点药就好了,try 22 吃了好几天药都没好结果得了H7N9,那就的得throws到医院 23 如果医院没有特效药就变成Error了 24 25 */ 26 public class ExceptionDemo { 27 public static void main(String[] args) { 28 // method(); 29 30 try { 31 method2(); 32 } catch (Exception e) { 33 e.printStackTrace(); 34 } 35 } 36 37 public static void method() { 38 int a = 10; 39 int b = 0; 40 if (b == 0) { 41 throw new ArithmeticException(); 42 } else { 43 System.out.println(a / b); 44 } 45 } 46 47 public static void method2() throws Exception { 48 int a = 10; 49 int b = 0; 50 if (b == 0) { 51 throw new Exception(); 52 } else { 53 System.out.println(a / b); 54 } 55 } 56 }