ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

异常

2022-06-09 21:09:41  阅读:109  来源: 互联网

标签:System try println catch 异常 out


异常

异常的分类

异常的处理

  • 异常处理的作用

    为了描述程序中不正常的操作

  • 异常产生的原因

    逻辑的不严谨,出乎意料的操作,不能穷举尽所有的可能

  • 处理异常的目的

    为了程序能在出现异常时,其他功能不受影响

  • 异常的处理方式:

    1.JVM处理

    JVM处理异常的过程:

    ​ 1).打印异常的信息 2).显示出异常的位置 3.)停止了程序

    2.自己处理

    try{}catch{}finally{}

    public class Test {
        public static void main(String[] args) {
            ATM atm = new ATM(20000);
            Scanner sc = new Scanner(System.in);
            // while(true){
            for (int i = 0; i < 5; i++) {
                System.out.println("请输入取钱金额:");
                int num = 0;
                try {
                    num = sc.nextInt();
                    atm.drawMoney(num);//在调用该方法的时候 不能超过余额 不能输入负数 不能够输入非数字字符
                    System.out.println("恭喜你,取钱成功!本次取钱金额为:" + num + "剩余金额:" + atm.getCashBalance());
                } catch (InputMismatchException input) {//这个异常还需要导包...
                    System.out.println("请输入整数");
                    sc.next();//利用next的功能 清楚缓存
                    continue;
                } catch (Exception e) {
                    System.out.println(e.getMessage());
                    sc.next();
                    continue;//本次有异常 不执行本次后面的代码
                }
                System.out.println("是否退出Y/N");
                if ("y".equalsIgnoreCase(sc.next()))break;
            }
            //}
        }
    }
    
    

    try catch执行流程

    1. try{} 中包括可能发生异常的代码

    2. 当异常发生时,会去匹配 catch中对应的异常

    3. 异常发生的代码行之后的代码行将不会被执行(try{}中) 没有异常将会全部被执行

    4. 当catch中有对应类型的异常 则执行 对应catch中的语句

    5. 若catch中没有对应类型的异常 则会被JVM 接受异常

      注意事项

    • catch 中的异常 父类需要放最后 否则catch子类将无意义

    • 一旦异常被catch 将不会影响 try catch之后的代码 执行

      throw 和 throws

    该方式是自己当前不做处理 谁调用我 谁处理 没人处理交给JVM处理

    throw: 利用throw关键字 在方法体中 产生一个异常

    throws:在方法声明的后面抛出异常,该异常有可能存在/不存在

    自定义异常

    通过翻看源码可知:"所有"异常的都是继承自Trowable且没有重写父类方法

    定义异常的意义:见名知意 . 异常发生时 通过异常类的信息快速锁定是发生了什么异常

    自定义异常 就是让自己定义的类继承 Exception 或 RuntimeException 可以根据需求重写方法

标签:System,try,println,catch,异常,out
来源: https://www.cnblogs.com/acman-mr-lee/p/16361096.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有