捕获异常try-catch-finally
Posted mpp0905
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了捕获异常try-catch-finally相关的知识,希望对你有一定的参考价值。
异常分类
try-carch-finally出现规则
return关键字的使用
finally中慎用return,虽然语法上没错,但是由于finally的强制执行,影响逻辑上需要return的值
package com.mpp.test; import java.util.InputMismatchException; import java.util.Scanner; public class TryDemoOne { public static void main(String[] args) { /* //要求:定义两个整数,输出两数之商 int one = 12; int two =2; System.out.println("one和two的商是:"+one/two); */ //要求:定义两个证书,接受用户的键盘输入,输出两数之商 Scanner input = new Scanner(System.in); System.out.println("=========运算开始======="); try { System.out.print("请输入第一个整数:"); int one = input.nextInt(); System.out.print("请输入第二个整数:"); int two = input.nextInt(); System.out.println("one和two的商是:" + one / two); } //多重catch结构 catch (ArithmeticException e){ //算数异常 System.exit(1); //终止程序运行 e.printStackTrace(); //打印错误信息,出现位置随机,无固定位置 System.out.println("除数不允许为零"); } catch (InputMismatchException e){ System.out.println("请输入整数"); e.printStackTrace(); } catch (Exception e){//当还有不可知异常被抛出时,放一个Exception捕获所有异常 System.out.println("出错"); } finally {//无论怎样都会执行的代码 System.out.println("=========运算结束======="); } } }
return慎用实例:
package com.mpp.test; import java.util.Scanner; public class TryDemoTwo { public static void main(String[] args) { int res = test(); System.out.println("one和two的商是:" + res); } public static int test(){ Scanner input = new Scanner(System.in); System.out.println("=========运算开始======="); try { System.out.print("请输入第一个整数:"); int one = input.nextInt(); System.out.print("请输入第二个整数:"); int two = input.nextInt(); return one/two; } catch (ArithmeticException e){ //算数异常 System.out.println("除数不允许为零"); return 0; } finally {//无论怎样都会执行的代码 System.out.println("=========运算结束======="); // return -10000000; finally中慎用return,虽然语法上没错,但是由于finally的强制执行,影响逻辑上需要return的值 } } }
以上是关于捕获异常try-catch-finally的主要内容,如果未能解决你的问题,请参考以下文章
Java异常捕获之一道try-catch-finally语句题