(1)捕获异常-try-catch的调用 注意:只有在try内java才能捕获异常
下例代码中,假设input为 "1" 则输出2, 但是当input的值为"a"时Double.parseDouble功能不能将input转换为double类型,所以会抛出错误然后java捕获了该类型的错误并执行了catch内的代码
最后就执行System.out.println("Invalid input");语句输出Invalid input
Scanner scanner = new Scanner(System.in);
String input = scanner.next();
try {
double a = 2*Double.parseDouble(input);//将input从字符类型转换为double类型的
System.out.println(a);
}catch(NumberFormatException e) {//java将捕获这段异常然后执行下列代码
System.out.println("Invalid input");
}
扩展 在java.lang.Double类型的静态parseDouble的签名如下:
public static double parseDouble(String s) throws NumberFormatExcpetion
其中throws语句表明parseDouble可能抛出NumberFormatExcpetion异常,因此在我们需要java捕获对应异常时可以看对应功能的throws语句
(2)try-finally的调用
在下例代码中只要try抛出错误就会执行finally内的语句然后系统再报错
Scanner scanner = new Scanner(System.in);
String input = scanner.next();
try {
double a = 2*Double.parseDouble(input);//将input从字符类型转换为double类型的
System.out.println(a);
}finally {
System.out.println("Invalid input");
}



