Java 异常

Posted kaichenkai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 异常相关的知识,希望对你有一定的参考价值。

什么是异常? 

编译时异常: 代码报错

运行时异常: 

  1. 异常是运行时的错误

  2. 运行时错误会抛异常 , 创建一个错误对象, 把错误对象丢出来

  3. 捕捉异常, 默认由JVM来把错误信息进行捕获, 打印出来, JVM会终止程序的运行

 

异常的分类

RuntimeException: 运行时异常, 一般不手动处理 , 出了问题再处理

其它Exception: 必须要经过手动处理

Error: 一般指的是系统级错误, 由大佬去处理

 

异常处理 try...catch...

try {

  尝试执行的代码

} catch (Exception e) {

  处理异常的代码

} finally {

  最后一定会执行的代码

}

 

demo:

public class Main {
    public static void main(String[] args) {
        try {
            int i = 1 / 0;
        } catch (Exception e) {
            System.out.println("系统出错了, 请联系管理员");
        } finally {
            System.out.println("一定会执行的部分");
        }
    }
}

 

抛出异常 throws... 和  throw...

throws 表示方法准备要扔出来一个异常

产生的错误尽可能的自己处理, 少向外边抛出异常

 

throw 表示主动抛出异常(类似于 python 中的 raise)

 

demo:

public class Main {
    public static void division (int a, int b) throws Exception {
        if (b==0) {
            // 主动抛出异常
            throw new Exception("除数是 0");  // 匿名对象的写法
        } else {
            System.out.println(a / b);
        }
    }

    public static void main(String[] args) throws Exception {
        division(2, 3);
    }
}

 

 

ending ~ 

 

 

以上是关于Java 异常的主要内容,如果未能解决你的问题,请参考以下文章

片段中的 EditText 上的空指针异常 [重复]

Java异常处理机制

片段 getArguments() 空指针异常

Android Java:在 onCreateView() 中返回空视图的片段

java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段