(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"); }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)