抛出异常与声明异常

这篇具有很好参考价值的文章主要介绍了抛出异常与声明异常。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

抛出异常

抛出异常关键字: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虚拟机报出这个异常终止程序执行
注意:尽管声明异常非常方便以及简单,但是最终一定要将异常解决掉,否则无法正常运行代码文章来源地址https://www.toymoban.com/news/detail-442831.html

throw与throws区别

  1. throw
    1. 抛出异常,告诉程序哪里有异常,会导致程序的异常终止,并且使用编译期异常时必须做处理(声明异常或捕获异常)否则无法通过编译
    2. 在方法体内写抛出异常
  2. throws
    1. 声明异常,告诉调用者此方法可能会出现有异常,但是方法的编写者没有处理,一般针对于解决throw抛出的编译期异常,只要是编译期异常都可以使用此关键字解决,并且一次可以声明多个编译期异常
    2. 声明异常到最终调用者时必须做处理(异常捕获),否则程序的终止一样会发生

到了这里,关于抛出异常与声明异常的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UG\NX二次开发 使用throw重新抛出异常

    文章作者:里海 来源网站: https://blog.csdn.net/WangPaiFeiXingYuan         在异常处理代码中,可以使用 throw 来抛出异常。如果希望在捕获异常后重新抛出该异常,可以使用类似以下的代码:         在 catch 块中,先对异常进行处理,例如记录日志、修复问题等。

    2024年02月16日
    浏览(48)
  • 抛出异常与声明异常

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

    2024年02月04日
    浏览(85)
  • static关键字和final关键字

    在java的中,static和final是两个必须掌握的。static和final用法多样,且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面将依次介绍static和final。注意,某些场景下,staic和final可以联合使用

    2024年02月09日
    浏览(61)
  • 搜索引擎优化指南:SEO关键字、长尾关键字、短尾关键字以及反向链接

    SEO 代表“搜索引擎优化”。它是一种数字营销策略,旨在提高网站或网页在搜索引擎未付费结果中的在线可见性。通常,网站在搜索结果页面中排名越高,或在搜索结果列表中显示的频率越高,它将从搜索引擎用户那里获得的访问者就越多。 SEO 策略可以针对各种类型的搜索

    2024年02月04日
    浏览(148)
  • 【iOS】—— 属性关键字及weak关键字底层原理

    参考博客:IOS开发基础——属性(copy strong weak等) 内存管理有关的: weak , assign , strong , retain , copy 线程安全有关的的: nonatomic , atomic 访问权限有关的的: readonly , readwrite (只读,可读写) 修饰变量的: const , static , extern 这些

    2024年02月16日
    浏览(42)
  • 拼多多关键字搜索API-通过关键字获取拼多多商品列表

    pinduoduo.item_search 公共参数 请求地址: pinduoduo/item_search 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) secret String 是 调用密钥 api_name String 是 API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等] cache String 否 [yes,no]默认yes,将调用缓存的数据

    2024年02月22日
    浏览(82)
  • 【Java入门】final关键字、static关键字、内部类的认识

    前言 : final是Java中的一个修饰符,用于表示某个变量、方法或者类不能被修改。final可以用于修饰类、方法和变量(局部变量,成员变量)。被final所修饰的类不能被继承,被final所修饰的方法不能被重写,被final所修饰的变量,不能被重新赋值 。 static是Java中的一

    2024年02月11日
    浏览(55)
  • ElasticSearch nested 字段多关键字搜索,高亮全部匹配关键字的处理

    ElasticSearch 版本号: 6.7.0 用户会传入多个去ES查询 ElasticSearch nested 字段 的多个字段,要求在返回的结果中被搜索的字段需要高亮所有匹配的。例如同时通过 上海 和 策划 ,再 工作经历 的列表中的 工作内容 和 公司名称 中搜索。如果有人员的 工作经历 中

    2024年04月22日
    浏览(59)
  • 用python实现给出关键字查找并标注pdf文件中关键字

    要在Python中标注PDF文件中的,可以使用Python的PDFMiner库和Python的matplotlib库。 首先,需要安装这两个库。可以使用pip命令进行安装: shell 复制代码 pip install pdfminer.six matplotlib 接下来,可以使用以下代码实现查找和标注功能: python 复制代码 import pdfminer   from pdf

    2024年01月16日
    浏览(71)
  • Java面向对象——多态、Object类、instanceof关键字以及final关键字

    总之,多态是面向对象编程中一个非常重要的概念,通过它可以实现统一的接口来操作不同的对象,提高代码的可读性和可维护性。在实际编程中,多态性的使用可以使代码更加灵活和扩展性更强。方法重写是实现多态的基础。 重写如下所示 关于hashCode方法的重写: 重写t

    2024年02月12日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包