zoukankan      html  css  js  c++  java
  • 捕获异常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的值
            }
        }
    }
    

      

  • 相关阅读:
    BigDecimal 类型数据比较大小
    list排序,顺序,倒序
    springboot添加log4j日志配置log4j.xml生成日志文件
    mybatis使用@param("xxx")注解传参和不使用的区别
    jetty 插件启动指定端口号
    javaweb项目静态资源被拦截的解决方法
    day15 Python全局变量和局部变量
    阿里云操作视频
    Python基础视频
    马哥Python视频
  • 原文地址:https://www.cnblogs.com/mpp0905/p/10360668.html
Copyright © 2011-2022 走看看