Java面向对象:抛出异常代码
throws关键字
测试
package exception; public class Demo { public static void main(String[] args) throws Exception { Type type = new Type(); type.division(11, 2); } }
类
package exception; public class Type { // 如果程序中有可能出现会出现异常,解决不了,或者不想解决,可以将这个异常抛出去 // 抛出去,告诉调用者,调用这个方法可能存在异常,请解决 // 在方法的形参列表后面通过throws关键字来抛出异常,可以抛出多个异常 public void division(int numb1 , int numb2) throws Exception,NullPointerException,ArithmeticException{ // 有可能会有异常 int result = numb1/numb2; System.out.println("result"); } }
系统为我们提供了两种种解决方法
1.在方法的形参列表后面通过throws关键字来抛出异常,可以抛出多个异常
2.使用捕获异常try/catch处理
throw关键字
测试
package exception; public class Demo { public static void main(String[] args) throws Exception { Type type = new Type(); // 调用方法是需要处理异常 // 1.使用throws关键字在方法的形参列表后面抛出 // 2.使用捕获异常try/catch处理 type.division(11, 2); } }
类
package exception; public class Type { // 正常都是用throws,基本不用throw // 只有在方法上抛出异常才能提醒调用者 public void division(int numb1 , int numb2) throws Exception{ if (numb2 == 0) { // throw都是定义在方法体内部 // 生成并抛出异常,正常不会这么用,因为这不能给到调用者提示 // throw new ArithmeticException(); throw new Exception(); // throw new Exception()后面不能存在代码,因为报异常代码就停了,永远不能执行后面的代码 // System.out.println("==="); } int result = numb1/numb2; System.out.println(result); } }
下一篇:
多线程并发或线程安全问题如何解决?