编程语言
首页 > 编程语言> > 异常的捕获和抛出(程序处理没解决,最好自己解决)

异常的捕获和抛出(程序处理没解决,最好自己解决)

作者:互联网

异常的捕获和抛出(程序处理没解决,最好自己解决)

try{用来放存在异常的代码}

catch(捕获异常的类型 事件参数){程序简单的处理}

catch可以不多个捕获,预防多种异常((捕获异常的类型 事件参数){{程序简单的处理}:

多捕获是由条件的,小类型先捕获(在前面catch),大类型再包类型(再catch)

(可选不一定写)finally{异常捕获后必定执行的语句,重要资源的释放等,因为代码异常捕获,程序后面的代码不会执行相当于break}

与改代码有关的其他类也会收到影响,一旦捕获以后可能失去作用。

try {
//异常存在的语句 
} catch (Exception e/*捕获异常的类型,大包小*/) {
   //程序简单的处理,没有解决      
    e.printStackTrace();
}finally {
  //异常捕获后必定执行的语句,用来关闭资源等重要语句
    
}

ERROR错误的捕获:

package com.wzh.Text;

public class Text {
    public static void main(String[] args) {
        try {
            //异常被捕获,不在显示
            //exception不能捕获error
            a();//错误不能被exception捕获,下面语句不执行
            System.out.println(10 / 0);//Throwable捕获了上面的ERROR 后执行
        }//可以多个catch但是捕获类型小的在前,层层递进
        catch (RuntimeException e) {
            System.out.println("除数不能为零");
            //小类型捕获后大类型就不捕获
        } catch (Exception e) {
            //不能捕获ERROR
            System.out.println("除数不能为零");
        }catch (Throwable e){
            //捕获ERROR,完整捕获俩个异常,只输出这句
            System.out.println("捕获ERROR");
        }
        finally/*可选不一定要写*/ {
            System.out.println("一定执行的语句");//一定执行
        }
    }

    public static void a() {
        b();
    }

    public static void b() {
        a();
    }
}

抛出异常:throw自动抛出显示异常,throws将异常抛给上一层

throw:不做处理直接抛出异常信息(方法里用)

throws:抛给上一级,这一级正常运行

可以捕获抛出的异常,配合使用

标签:程序处理,抛出,捕获,System,catch,解决,println,异常,out
来源: https://www.cnblogs.com/wzho/p/14454779.html