美文网首页
java学习:Java 异常处理,值得一看(二)

java学习:Java 异常处理,值得一看(二)

作者: 耳东陈_f1e5 | 来源:发表于2018-01-16 14:36 被阅读0次

    上篇讲了java的 异常处理:

    捕获异常

    多重捕获块

    throws/throw 关键字

    现继续前缘,让我们共同了解Java 异常处理吧。

    finally关键字

    finally 关键字用来创建在 try 代码块后面执行的代码块。

    无论是否发生异常,finally 代码块中的代码总会被执行。

    在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。

    finally 代码块出现在 catch 代码块最后,语法如下:

    实例

    以上实例编译运行结果如下:

    注意下面事项:

    catch 不能独立于 try 存在。

    在 try/catch 后面添加 finally 块并非强制性要求的。

    try 代码后不能既没 catch 块也没 finally 块。

    try, catch, finally 块之间不能添加任何代码。

    声明自定义异常

    在 Java 中你可以自定义异常。编写自己的异常类时需要记住下面的几点。

    所有异常都必须是 Throwable 的子类。

    如果希望写一个检查性异常类,则需要继承 Exception 类。

    如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。

    可以像下面这样定义自己的异常类:

    只继承Exception 类来创建的异常类是检查性异常类。

    下面的 InsufficientFundsException 类是用户定义的异常类,它继承自 Exception。

    一个异常类和其它任何类一样,包含有变量和方法。

    实例

    以下实例是一个银行账户的模拟,通过银行卡的号码完成识别,可以进行存钱和取钱的操作。

    为了展示如何使用我们自定义的异常类,

    在下面的 CheckingAccount 类中包含一个 withdraw() 方法抛出一个 InsufficientFundsException 异常。

    下面的 BankDemo 程序示范了如何调用 CheckingAccount 类的 deposit() 和 withdraw() 方法。

    编译上面三个文件,并运行程序 BankDemo,得到结果如下所示:

    通用异常

    在Java中定义了两种类型的异常和错误。

    JVM(Java虚拟机) 异常:由 JVM 抛出的异常或错误。例如:NullPointerException 类,ArrayIndexOutOfBoundsException 类,ClassCastException 类。

    程序级异常:由程序或者API程序抛出的异常。例如 IllegalArgumentException 类,IllegalStateException 类。

    本文完!


    相关文章

      网友评论

          本文标题:java学习:Java 异常处理,值得一看(二)

          本文链接:https://www.haomeiwen.com/subject/napsoxtx.html