异常处理throw和throws关键字
- throw 关键字主要在方法的声明上使用,表示方法中不处理异常处理,而交给调用处处理。实际上对于java程序来讲,如果没有加入任何的异常处理,默认由JVM进行异常的处理操作。
- throws 关键字表示在程序中手动抛出一个异常,以为异常处理机制来看,所有异常一旦产生之后,实际上抛出的就是一个异常类的实例化对象,那么吃对象也可以由throw直接抛出。(用在定义处)
上代码:
package com.vince;
import java.util.InputMismatchException;
import java.util.Scanner;
public class ExceptionDemo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
/*
* throw 关键字主要在方法的声明上使用,表示方法中不处理异常处理,而交给调用处处理。实际上对于java程序来讲,
* 如果没有加入任何的异常处理,默认由JVM进行异常的处理操作。
* throws 关键字表示在程序中手动抛出一个异常,以为异常处理机制来看,所有异常一旦产生之后,实际上抛出的就是一
* 个异常类的实例化对象,那么吃对象也可以由throw直接抛出。
*/
/*
* 示例一: try { exception_test_2(10, 2); } catch (Exception e) { // TODO
* 自动生成的 catch {e.printStackTrace(); }
*/
try {
int result = div(10, 0);
System.out.println(result);
} catch (Exception e) { // TODO 自动生成
e.printStackTrace();//输出错误类型
}
}
/*
* 示例一: private static int exception_test_2(int num_1,int
* num_2)throwsException{ return num_1/num_2; }
*/
private static int div(int num_1, int num_2) throws Exception {//定义错误类型
if (num_2 == 0)
throw new ArithmeticException("除数不能为0");//如果出错就用扔出出异常处理
return num_1 / num_2;
}
}
结果:除数不能为零