zoukankan      html  css  js  c++  java
  • 突如其来的“中断异常”,我(Java)该如何处理?

    3.try-catch

    try语句块中代码执行时发生三种情况:

    • try语句块中代码正常执行完毕,没有任何异常,那么catch语句块的代码将不会被执行。
    import java.util.*;
    public class Count {
            public static void main (String []args){
                int a , b;
                Scanner read = new Scanner(System.in);
                try{
                    System.out.print("请输入a:");
                    a = read.nextInt();
                    System.out.print("请输入b:");
                    b = read.nextInt();
                    System.out.println("a+b="+(a+b));
                }catch(InputMismatchException ex){
                    System.out.println("不可以,请输数字!");
                    }
                    System.out.println("<<<<欢迎使用!>>>>");
            }
    }

    输入100和200后程序顺利进行!

    • try语句块中代码执行过程中产生异常,并且该异常跟catch中声明的异常类型相符合,那么try语句块中剩余的代码将被忽略,catch语句块的代码将被执行。
      还是上面代码,输入100和a后程序运行如下:
    • try语句块中代码执行过程中产生异常,但是抛出的异常并没有在catch语句块中声明,那么这个时候程序会立刻终止。

    4.try-catch-finally

    catch子句后加入finally块,可以确保无论是否发生异常,finally块中的代码总能被执行。

    • 代码示例:
    import java.util.*;
    
    public class Count {
         public static void main (String []args){
            int a , b;
            Scanner read = new Scanner(System.in);
            try{
                System.out.print("请输入a:");
                a = read.nextInt();
                System.out.print("请输入b:");
                b = read.nextInt();
                System.out.println("a+b="+(a+b));
            }catch(Exception ex){
                System.out.println("不可以,请输数字!");
    
            }finally{
            System.out.println("<<<<欢迎使用!>>>>");
            }
         }
    }
    • 运行结果:

    5.多重catch

    • 一段代码可能会产生多个异常。
    • 依次对每个catch块声明的异常对象进行检查,找到执行第一个与try抛出的异常类型匹配的catch块,之后的catch块将被忽略。
    • 异常子类一定要位于异常父类之前,如下图:

      sdfas

    -------------------------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    Android java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor ver
    Android EditText光标位置(定位到最后)
    Android EditText获取光标位置并插入字符删除字符
    Android 仿微信小视频录制
    Android仿微信小视频录制功能
    Android消息机制之实现两个不同线程之间相互传递数据相互调用
    Android Data Binding 技术
    Android中解析XML
    Android 怎样把光标放在EditText中文本的末尾处?
    Hadoop HBase概念学习系列之RowKey设计(二十九)
  • 原文地址:https://www.cnblogs.com/xieweikai/p/6817700.html
Copyright © 2011-2022 走看看