在我们的Javascript代码中,我们有一个try ... catch-block。该类的工作方式如下:
const ourCustomClassFile = require('./ customFile');
在customFile.js内部,我们定义了一个函数
const sendErrorNotification = (source, reason, scriptposition) =>
{ ...something and write a mail...
}
我们的主程序在整个脚本中有一个try-catch块,如下所示:
const ourCustomClassFile = require('./customFile');
try{
const inputFolder = this.config.folder.input;
const workFolder = this.config.folder.work;
const errorFolder = this.config.folder.error;
}catch(error){
if (fs.existsSync(workFile)) {
fs.renameSync(workFile, errorFile);
}
sendErrorNotification(
file,
`Errortext: ${error}`,
actPosition
);
}
sendErrorNotification函数在我们的主程序的常规代码内正常工作,但是在catch块内,我们得到一个异常:
UnhandledPromiseRejectionWarning:ReferenceError:未定义sendErrorNotification
所以我只想知道:为什么未定义函数?
在您的customFile.js内部
const sendErrorNotification = (source, reason, scriptposition) => {
...something and write a mail...
}
module.exports = {
sendErrorNotification: sendErrorNotification
}
然后,在您的main.js文件中,这样命名:
const ourCustomClassFile = require('./customFile');
...
ourCustomClassFile.sendErrorNotification(..)
...