如何从调用文件中捕获异常?

时间:2021-01-08 13:44:41

标签: javascript node.js exception

我有以下 Javascript 代码

main.js

'use-strict';
const assert = require('assert');
var r = require('./index.js');
async function fun() {
    try {
    r.start();
} catch (e) {console.log(e);}
}
fun();

index.js

'use-strict';
var assert = require('assert');
async function start() {
   
    assert.ok(1==0);
}

exports.start = start;

现在 index.js 中抛出的异常没有被 main.js 捕获,为什么会这样?有什么办法可以帮助我吗?

我在从 main.js 调用的不同文件中有一系列函数,我不想将 try/catch 放在所有这些函数中。

1 个答案:

答案 0 :(得分:0)

如果你把 main.js 改成这个,希望这个错误会被捕获,因为函数会等待 promise 解决,并在 main.js 中抛出错误。

main.js

'use-strict'
const assert = require('assert')
const r = require('./index.js')
const fun = async () => {
  try {
    // Wait for the promise to resolve
    await r.start()
  } catch (error) {
    console.log(error)
    throw new Error(`[main.js] - Error was thrown ${error}`)
  }
}
fun()
相关问题