异常处理

Posted tendermelon

tags:

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

异常分为3类:

  1.检查性异常:由用户错误引起,程序员无法预见,如打开一个不存在的文件

  2.运行时异常:编译的时候看不到,运行时才出现,程序员能处理

       3.错误由JVM产生,是灾难性的错误

Java把异常当做对象处理,定义java.lang.Thtowable为所有异常的超类,分为错误和异常

 技术图片

Exception中的重要子类:RuntimeException(运行时异常),一般由程序逻辑错误引起

异常处理关键词:try,catch,finally,throw,throws

举例:

 

public class Test {
    public static void main(String[] args){
        int a = 1;
        int b = 0;
        System.out.println(a/b);
    }
}

 

除数是零,产生ArithmeticException,程序不能执行,通过如下代码处理:

public class Test {
    public static void main(String[] args){
        int a = 1;
        int b = 0;
        try {
            System.out.println(a/b);
        } catch (ArithmeticException e) {
            System.out.println("b不能为0");
        } finally {
            System.out.println("结束");
        }
    }
}

程序可以执行,finally可以不要

也可以通过抛出异常检查代码:

public class Test {
    public static void main(String[] args){
        int a = 1;
        int b = 0;
        if(b==0){
            throw new ArithmeticException();
        }
}

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

使用片段中的处理程序时出现非法状态异常

Java异常处理机制

java 反射代码片段

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

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

片段中的Android致命异常