异常之旅

155 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

今天我来和大家说一说java中的异常,没有学到这里的朋友也可以来看一看,我会尽力说的通俗易懂,把自己对这部分的理解和细节全部都写出来的,废话不多说。直接开始我们的异常之旅吧。

基本概念

要想学好异常,首先要清楚我们为什么需要异常,异常的作用是什么。
我们现在想一下,如果你们公司开发的软件没有一点容错,出现一点问题系统就崩掉,那么会给公司造成很大的经济亏损。有时软件出错是无法避免的,我们只能想一种方法,让系统即使出现了错误也可以持续运行。着就需要我们今天说到的异常了。

异常加强了系统的健壮性,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)


我们首先来看一下异常的样子吧

public class SuppressWarningstext {
    public static void main(String[] args) {
        int num1 = 10;
        int num2 = 0;
        try {
            int res = num1/num2;
        } catch (Exception e) {
            e.printStackTrace();
            //System.out.println("出现异常的原因=" + e.getMessage());//输出异常信息
        }
        System.out.println("程序继续运行......");
    }
}

运行效果

image-20220519083233761

异常语法

1. try-catch-finally

程序员在代码中捕获发生的异常,自行处理

try{
    代码/可能有异常的
}catch(Exception e){
    //捕获到异常
    //1.当异常发生时
    //2系统将异常封装成Exception对象e,传递给catch
    //3得到异常对象后,程序员,由己处理
    //4.注意,如果没有发生异常catch代码块不执行
}finally{
    //1.不管try代码块是否有异常发生,始终要执行finally
    //2.所以,通常将释放资源的代码,放在finally
}

2. throws

class b {
    public void c() throws RuntimeException,Exception{
    // throws关键字后面可以跟异常列表,即抛出多个异常
    //如果程序员,没有显示是处理异常,默认throws
    }
}

将发生的异常抛出,提交过调用(方法)来处理,最顶级的处理者就是JVM

image-20220520120731952

快捷键

快速生成异常处理的IDEA快捷键为CTRL+ALT+T,选中try-catch异常处理机制来解决