欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java自学 day5

程序员文章站 2022-04-25 19:25:21
异常:程序运行过程中,出现一些问题,阻止了程序的正常运行,这种情况称之为异常。 异常处理:异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行。 一般使用 try...catch...语句块来处理异常,下面是一个例子: 这里输入了不 ......

异常:程序运行过程中,出现一些问题,阻止了程序的正常运行,这种情况称之为异常。

异常处理:异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行。

一般使用 try...catch...语句块来处理异常,下面是一个例子:

import java.util.Scanner;

public class test {

    public static void main(String[] args) {
        while(true){
        try{
        Scanner in=new Scanner(System.in);
        System.out.println("请输入1或2!");
        int a=in.nextInt();
        if(a!=1&&a!=2){
            continue;
        }
        else{
            break;
        }
        }catch(Exception e){
            continue;
        }
        
    }
    System.out.println("欢迎");
}}

java自学  day5

这里输入了不属于int类型的"a",但是并没有出现错误,这是因为这里的异常被catch捕获到了,并执行了continue,继续循环。

 如果注释掉try...catch...语句块

import java.util.Scanner;

public class test {

    public static void main(String[] args) {
        while(true){
        /*try{*/
        Scanner in=new Scanner(System.in);
        System.out.println("请输入1或2!");
        int a=in.nextInt();
        if(a!=1&&a!=2){
            continue;
        }
        else{
            break;
        }
        /*}catch(Exception e){
            continue;
        }*/
        
    }
    System.out.println("欢迎");
}}

再输入"a"会出现这种结果:

java自学  day5

可以有多个catch块,每个catch可以处理一个异常,异常匹配是按照catch块的顺序从上往下寻找的,只有第一个匹配的catch会得到执行,如果catch块之间有父子关系,子类异常放在前面。

throws是另一种处理异常的方式,就是不知道该如何处理,就把这个异常用throws抛出,让调用这个方法的去处理。