• java基础(十)--- 异常


    异常分类图解:

    Throwable
    |--Error 严重问题,我们不处理。
    |--Exception
      |--RuntimeException 运行期异常,我们需要修正代码
      |--非RuntimeException 编译期异常,必须处理的,否则程序编译不通过

    异常对象的常见方法:

      如果程序需要在catch块中访问对象的相关信息,则可以通过访问catch块后的异常形参来获得。当java运行时决定调用某个catch块来处理该异常对象时,会将异常对象赋给catch块后的异常参数,程序即可通过该参数来获得异常相关信息。

      getMessage():返回该异常的详细描述字符串

      printStackTrace():将该异常的跟踪栈信息输出到标准错误输出。

      printStackTrace(PrintStream s):将该异常的跟踪栈信息输出到标准错误输出。

      getStackTrace():返回该异常的跟踪栈信息。

    finally的特殊情况:

      通常情况下,不要在finally块中使用如return或者throw等导致方法终止的语句。

      当java程序执行try块、catch块时遇到了return或者throw语句。这两个语句都会导致该方法立即结束,但是系统执行这两个语句并不会结束该方法,而是去寻找该异常处理流程中是否包含finally块,如果没有finally块,程序立即执行return或throw语句,方法终止。如果有finally块,系统立即开始执行finaly块----只有当finally块执行完成后,系统才会再次跳回来执行try块、catch块里的retrun或throw语句;如果finally块里也使用了return或throw等导致方法终止的语句,finally块一斤终止了方法,系统将不会跳回去执行try块、catch块里的任何代码。

    自定义异常
      继承自Exception或者RuntimeException,只需要提供无参构造和一个带参构造即可

  • 相关阅读:
    【css】用纯 CSS 判断鼠标进入的方向
    【window】系统禁止运行脚本
    【go】VSCode配置Go插件和debug设置
    【PHP】php之Trait详解
    【layui】laydata 自定义日期之外格式的处理办法
    【PHP】防止视频资源被下载的解决办法
    【Markdown】 编辑器Editor.md集成使用
    代码之间为什么要加空格?
    求求你,别问了,Java字符串是不可变的
    养生吧,程序员!
  • 原文地址:https://www.cnblogs.com/judylucky/p/4555270.html
Copyright © 2020-2023  润新知