小白之旅13-1

2019-08-16 12:14:58来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

小白之旅13-1

一. 异常

1.1 概念

Java程序在运行时期发生的问题就是异常。

在Java中,把异常封装成了一个类。

当发生了某些问题时,系统会自动创建对应的异常对象并抛出该异常相关的信息。

1.2 异常的体系

  • Throwable
    • Error:用于指示合理的应用程序不应该试图捕获的严重问题
    • Exception:它指出了合理的应用程序想要捕获的条件
      • RuntimeException
        • IndexOutOfBoundsException
        • ...
      • IOException
        • FileNotFoundException
        • ...
      • ...

1.3 异常的处理

1.3.1 捕获

1.3.1.1 格式

try{

? // 需要被检测的代码

}

catch(异常 对象){

? //发生异常后才会执行,且是立即执行

? // 处理异常的代码

}

finally{

? // 一定会被执行的代码

? // 一般用于释放资源

}

1.3.1.2 注意

1、如果有多个异常可能发生,需要将这些异常罗列在try代码块之后,用于进行针对性的异常处理

2、如果多个异常之间有包含关系,那么范围大的异常必须写在范围小的异常之后

3、只有使用对应的异常对象才能进行相应异常的捕获,否则是无效

1.3.2 抛出

关键字:throw、throws

  • throws:用于方法声明,声明该方法的方法体中可能存在异常,需要调用者进行处理

    格式:

    ? public 返回类型 方法名() throws 异常{

    ? }

    1、已经有了捕获处理异常,为什么要使用throws抛出?

    因为方法可能出现异常,而异常的处理是各不相同的,不应该写死异常的处理方式,

    应该告知调用者此方法存在异常,需要调用者根据它的情况进行异常的处理。

? 2、那么调用者该如何处理具有异常的方法?

? 两者:

? 第一种,继续抛出,直到有一个调用者进行了捕获

? 第二种,直接捕获,此时调用者就无需再进行抛出

  • throw:用于在语句中抛出异常对象,需要调用者在调用功能时进行捕获,

    用此方法创建异常对象,可以借助异常类中构造函数的重载对错误信息进行设置。

    格式:

    ? throw new 异常对象(String);

注:

1.4 异常类的常用方法

1、toString():显示错误原因

2、getMessage():显示错误原因和相关异常类

3、printStackTrace():直接打印错误原因、相关异常类、错误位置

1.5 自定义异常类

概念:根据项目需求,针对某些特殊情况定义的异常类。

步骤:

1、创建类继承Exception

2、写出默认的构造函数、重载传参为String构造函数

3、在重载的构造函数中调用super(String)

4、在异常时抛出异常对象(throw)

5、在调用功功能时对该异常进行 捕获


原文链接:https://www.cnblogs.com/demonycw/p/11329653.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:BigDecimal除法

下一篇:记我的一次 Java 服务性能优化