javascript 中使用的引用在 catch 块中不可用
Used Reference in javascript is not available inside the catch-Block
在我们的 Javascript-代码中,我们有一个 try...catch 块。 class 的工作原理如下:
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 is not defined
所以我只需要知道:为什么函数没有定义?
在你的customFile.js
里面
const sendErrorNotification = (source, reason, scriptposition) => {
...something and write a mail...
}
module.exports = {
sendErrorNotification: sendErrorNotification
}
然后,在您的 main.js 文件中,这样调用它:
const ourCustomClassFile = require('./customFile');
...
ourCustomClassFile.sendErrorNotification(..)
...
在我们的 Javascript-代码中,我们有一个 try...catch 块。 class 的工作原理如下:
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 is not defined
所以我只需要知道:为什么函数没有定义?
在你的customFile.js
里面const sendErrorNotification = (source, reason, scriptposition) => {
...something and write a mail...
}
module.exports = {
sendErrorNotification: sendErrorNotification
}
然后,在您的 main.js 文件中,这样调用它:
const ourCustomClassFile = require('./customFile');
...
ourCustomClassFile.sendErrorNotification(..)
...