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());

你真的了解try..catch(finally)吗?

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());

你真的了解try..catch(finally)吗?

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());

你真的了解try..catch(finally)吗?

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());

你真的了解try..catch(finally)吗?

相关文章:

  • 2021-10-19
  • 2022-12-23
  • 2021-05-31
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-05-08
  • 2022-01-18
  • 2021-10-20
  • 2021-07-14
  • 2021-12-04
  • 2022-01-31
相关资源
相似解决方案