我是靠谱客的博主 唠叨皮带,最近开发中收集的这篇文章主要介绍JAVA中的异常机制(概念 和 运行时异常的逻辑分析),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JAVA中的异常机制(1)

  1. 什么是异常(exception),异常机制有什么用: 程序执行过程中发生了不正常的情况,而这种不正常的情况叫“异常”,
    java把该异常信息打印输出到控制台,供程序员参考,以便修改,让程序更”健壮“(不会因为某些错误的发生导致系统宕机)

  2. 异常在java中以类的形式存在,每一个异常类都可以创建异常对象,
    异常对应的现实生活是怎样的:
    火灾(异常类)
    2008-08-08,小明家着火了(异常对象)

  3. 异常(Exception)类 和 错误(Error)类 都是可抛出(Throwable)类 的,
    Error一旦发生不可处理,jvm直接终止运行,异常可以进行处理

  4. 所有异常都发生在运行阶段

  5. 异常分为 运行时异常(RuntimeException)编译时异常(ExceptionSubClass(异常的其他直接子类))
    运行时异常还可称为 非受检异常(UnCheckedException) 或 非受控异常
    编译时异常还可称为 受检异常(CheckedException) 或 受控异常

  6. 编译时异常表示必须在编写程序的时候对这种异常进行处理,不然编译器报错
    运行时异常在编写程序阶段可以选择预先处理也可以选择不处理

  7. java语言对异常的处理包括两种方式:
    一、在方法声明的位置上,使用throws关键字,抛给上一级
    二、使用try…catch语句进行异常的捕捉

  8. 异常发生后,如果选择了上抛,抛给了我的调用者,调用者需要对这个异常进行继续处理,
    那么调用者处理这个异常也同样有两种处理方式

  9. 注意:如果异常一直上抛,最终抛给了main方法,main方法继续上抛,抛给了调用者JVM,
    那就只有一个结果,终止java程序的执行

  10. (补充)子类不能比父类抛出更多的异常
    如果父类没有抛出异常,则子类只能try catch,不能throws

实例化异常对象:

public class ExceptionTest01 {
    public static void main(String[] args) {
        //通过“异常类”实例化“异常对象”
            ArrayIndexOutOfBoundsException arrayIndexOutOfBoundsException = new ArrayIndexOutOfBoundsException("数组越界异常正确触发了");
            System.out.println(arrayIndexOutOfBoundsException);
    }
}
//运行结果:
java.lang.ArrayIndexOutOfBoundsException: 数组越界异常正确触发了

运行时异常及逻辑分析:

public class ExceptionTest02 {

    public static void main(String[] args) {
        /*
        程序执行到此处发生了ArithmeticException异常,
        
        底层new了一个ArithmeticException异常对象
        然后抛出了,由于main方法调用了100 / 0,
        所以这个异常ArithmeticException抛给了main方法,
        
        main方法没有处理,将这个异常 自动抛给 了JVM,
        JVM最终终止程序的执行

        ArithmeticException 继承 runtimeException,属于运行时异常,
        在编写过程不需要对这种异常进行预处理
         */
        System.out.println(100 / 0);
        // “程序执行成功” 语句没有输出,没有执行
        System.out.println("程序执行成功");
    }
}

最后

以上就是唠叨皮带为你收集整理的JAVA中的异常机制(概念 和 运行时异常的逻辑分析)的全部内容,希望文章能够帮你解决JAVA中的异常机制(概念 和 运行时异常的逻辑分析)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部