• Java入门——day19


    一、今日学习

    Try...catch...finally...

    (1)使用try...catch...finally...语句处理异常,它捕获被命名为属于异常类的异常,并调用方法处理它,finally无论有无异常都会执行。

    (2)形式:

     1 try    //监视
     2    {
     3     可能发生异常的代码块;
     4    }
     5    catch(异常类型 异常对象名)
     6        //捕获并处理异常
     7    {
     8        异常处理代码块;
     9    }finally {
    10         //最终执行
    11    }

    (3)实例:

     

     (4)catch语句可以有多个,并且要捕获Exception,则将Exception放在最后,不能放在前面,否则会出错。即:如果要捕获多个异常,异常的范围要按照从小到大顺序叠放。

    注:finally可以省略

     (5)总结:

    • 当抛出一个异常时,异常会由相应的catch语句捕获并处理,与一个try相关的catch语句可以有多个,构成多重catch语句,异常类型决定了要执行哪个catch语句,如果没有抛出异常,try代码块就会结束,并且会跳过它的所有catch语句,从最后一个catch后面的第一个语句继续执行。

    • try语句也可以嵌入try语句,一个try代码块可以嵌入到另一个try代码块中,由于内部try代码块产生的异常如果没有被与该内部try代码块相关的catch捕获,就会传到外部try代码块。

    二、遇到问题

    使用try...catch...finally时遇到警告:finally block does not complete normally

    查找资料分析原因是:如果finally块中包含return语句,会覆盖前面的return语句(try块、catch块中的),即使前面的catch块重新抛出了异常,则调用该方法的语句也不会获得catch块重新抛出的异常,而是会得到finally块的返回值,不会捕获异常,编译器会报警告。

    三、明日学习

    Java的剩余三个抛出异常的方法

  • 相关阅读:
    Profibus 接线
    如何正确使用Profibus插头以及终端电阻
    Java设计模式(3)——抽象工厂模式
    Java设计模式(2)——工厂方法模式
    Java设计模式(1)——简单工厂模式
    Oracle——控制事务
    Jackson-将对象转为Json字符串
    $.ajax
    Ajax——jQuery实现
    Ajax——三种数据传输格式
  • 原文地址:https://www.cnblogs.com/znjy/p/13374947.html
Copyright © 2020-2023  润新知