Loading

你真的懂try,catch,finally的异常处理吗

  • 第一种:try{}catch(){}finally{}return;
    该语句按语句正常执行
  • 第二种:try{return;}catch(){}finally{}return;
    该情况为刚才说的题目情况,即执行完try语句块,将return的值保存在临时栈中,再执行finally语句块,之后返回临时栈中的值。若异常则执行catch,finally{}return
  • 第三种:ry{}catch(){return;}finally{}return;
    无异常:执行try,执行finally,再执行return;
    有异常:执行完catch语句块,将return的值保存在临时栈中,再执行finally语句块,之后返回临时栈中的值。
  • 第四种:try{}catch(){}finally{return;}
    在正常情况(即程序正常执行try catch finally语句块,不会在语句中出现退出程序、线程终止等特殊情况)下,都会执行finally语句块,如果finally中有return,则程序会走finally中的return,如果没有,则先执行try或者catch中的return,将其存入临时栈中,执行完finally语句后才返回临时栈中的值。
    具体参考:
    try,catch,finally
    详解2
posted @ 2020-09-22 23:45  笑忘舒  阅读(223)  评论(0编辑  收藏  举报