zoukankan      html  css  js  c++  java
  • 你真的了解try..catch(finally)吗?

    原文https://mp.weixin.qq.com/s/g51OQBik6UsUhxSkw7MGVQ

    如果finally语句块中有返回值,那么这个值将作为整个try...catch语句的返回,无论try语句块或者catch语句块中是否有返回,这包括了catch中的异常。

    function fn() {
      try {
        console.log('try块内log');
      } catch (error) {
        console.log('catch块内log');
      } finally {
        console.log('finally块内log====');
      }
      return '一般情况下的return';
    }
    console.log(fn());
    

    function fn() {
      try {
        console.log('try块内log');
        return 'try中的return'; // <=== 多了这么一句
      } catch (error) {
        console.log('catch块内log');
        return 'catch中的return语句';
      } finally {
        console.log('finally块内log====');
      }
      return '一般情况下的return';
    }
    console.log(fn());
    

    function fn() {
      try {
        console.log('try块内log');
        return 'try中的return'
      } catch (error) {
        console.log('catch块内log');
        return 'catch中的return语句';
      } finally {
        console.log('finally块内log====');
        return 'finaly中的return'; // <=== 多了这么一句
      }
      return '一般情况下的return';
    }
    console.log(fn());
    

    function justLog(){
      console.log('来自justLog的打印');
      return '来自justLog的return'
    }
    
    function fn() {
      try {
        console.log('try块内log');
        return justLog(); // <=== 这次我们return了一个函数
      } catch (error) {
        console.log('catch块内log');
        return 'catch中的return语句';
      } finally {
        console.log('finally块内log====');
        return 'finaly中的return';
      }
      return '一般情况下的return';
    }
    console.log(fn());
    

  • 相关阅读:
    HomeWork2
    An error I have completed recently
    C#之规格说明书
    App上架审核指南翻译
    使用CollectionView做横向滑动分页效果:
    推荐一些CSS命名规范
    关于让左右2个DIV高度相等
    带有缩略图和文字提示的轮播图
    动画的定义:
    .Net基础篇_学习笔记_第五天_流程控制while循环002
  • 原文地址:https://www.cnblogs.com/samsara-yx/p/14596035.html
Copyright © 2011-2022 走看看