Java中抛出异常与声明异常的简介说明

欣喜 Java经验 发布时间:2023-11-24 15:11:54 阅读数:15314 1
下文笔者讲述java中抛出异常与声明异常的简介说明,如下所示

抛出异常

抛出异常关键字:
     throw
      抛出异常是
          指在方法体内手动抛出异常错误,
             与系统直接报错相同也会导致程序的异常终止,
             但是可以自定义异常信息,
            一般常用于抛出编译期异常(必须做处理)

抛出异常格式:
      throw new 异常类(异常信息);

throw:固定语法

new 异常类(异常信息):
      需要抛出的异常类型,
      一般用于给调用者看(允许抛出自定义异常)

异常信息:
报错时显示异常信息

    private static int getArrayIndexData(int[] arr, int index) {
        // 判断index是否合法
        if (index < 0 || index >= arr.length) {
            // 如果小于0或大于等于数组长度则报异常
            // 抛出编译期异常时必须做处理,如果不做处理则无法通过编译,并且idea会报红色波浪线取错
            throw new Exception("抛出编译期异常...");// alt+enter
        }
        return arr[index];
    }

声明异常

声明异常关键字throws:
     声明异常是
       指将当前方法中的异常声明抛出,
          告诉调用者我这里可能会存在异常,
         但是我没有处理,让调用者处理,有点踢皮球的意思

声明异常
        可以解决方法中的编译期异常无法编译的问题

声明异常格式:
        修饰符 
        返回值类型 
       方法名称(形参列表) 
         throws 声明异常类型1,声明异常类型2,声明异常类型n...{方法体}

    /**
     * 	声明异常主要作用是为了给调用者看,一般声明异常不会声明运行期异常,因为没有任何意义
     *	在main方法程序注入口上声明的异常交由JVM虚拟机处理,JVM会抛出这个异常信息并终止程序
     * @throws Exception 声明编译期异常等于告诉调用这里有异常,但是我不处理,交由调用者处理异常
     */
    private static void func02() throws Exception {
        // 抛出编译期异常
        throw new Exception("编译期异常...");
    }
 
throws:
     异常声明抛出给调用者,
       但是自己不处理,
      目的是为了解决方法中的编译期异常,
       然后当调用者调用此方法时会有错误提示,
        方法的调用再进行处理(也可以声明抛出或使用捕获异常解决这个问题),
        声明抛出的异常最多到main方法,
         main是由JVM虚拟机执行,
          最终由JVM虚拟机报出这个异常终止程序执行

throw与throws区别

throw
   抛出异常
     告诉程序哪里有异常
      会导致程序的异常终止,
       并且使用编译期异常时必须做处理(声明异常或捕获异常)否则无法通过编译
        在方法体内写抛出异常

throws
    声明异常
        告诉调用者此方法可能会出现有异常,
        但是方法的编写者没有处理,
       一般针对于解决throw抛出的编译期异常,
         只要是编译期异常都可以使用此关键字解决,
         并且一次可以声明多个编译期异常

     声明异常
        最终调用者时必须做处理(异常捕获),
          否则程序的终止一样会发生
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202311/17008099407361.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者