突如其来的“中断异常”,我(Java)该如何处理?

来源:互联网 发布:seo工作难点跟重点 编辑:程序博客网 时间:2024/05/01 00:24


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

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

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

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

0 0
原创粉丝点击