javascript中使用的引用在catch块中不可用
在Javascript代码中,我们有一个try…catch块。该类的工作方式如下所示: const ourCustomClassFile=require'/customFile' 在customFile.js中,我们定义了一个函数javascript中使用的引用在catch块中不可用,javascript,node.js,try-catch,referenceerror,Javascript,Node.js,Try Catch,Referenceerror,在Javascript代码中,我们有一个try…catch块。该类的工作方式如下所示: const ourCustomClassFile=require'/customFile' 在customFile.js中,我们定义了一个函数 const sendErrorNotification = (source, reason, scriptposition) => { ...something and write a mail... } 我们的主程序在整个脚本上有一个try-catch块
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
);
}
const ourCustomClassFile = require('./customFile');
...
ourCustomClassFile.sendErrorNotification(..)
...
函数sendErrorNotification在主程序的正常代码中运行良好,但在catch块中出现异常:
未处理的PromisejectionWarning:ReferenceError:sendErrorNotification未定义
所以我只需要知道:为什么没有定义函数?在customFile.js中
const sendErrorNotification = (source, reason, scriptposition) => {
...something and write a mail...
}
module.exports = {
sendErrorNotification: sendErrorNotification
}
然后,在main.js文件中,按如下方式调用它:
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
);
}
const ourCustomClassFile = require('./customFile');
...
ourCustomClassFile.sendErrorNotification(..)
...
在customFile.js中
const sendErrorNotification = (source, reason, scriptposition) => {
...something and write a mail...
}
module.exports = {
sendErrorNotification: sendErrorNotification
}
然后,在main.js文件中,按如下方式调用它:
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
);
}
const ourCustomClassFile = require('./customFile');
...
ourCustomClassFile.sendErrorNotification(..)
...
使用我们的CustomClassFile.SendErrorNotificationSendErrorNotification如何为其他使用者公开?目前,它只是一个变量,如何到达它将取决于如何或是否导出它。@VipalPatil如果我们这样使用它,我们会收到消息类型错误:ourCustomClassFile.sendErrorNotification不是函数use ourCustomClassFile.sendErrorNotification sendErrorNotification如何为其他使用者公开sendErrorNotification?目前,它只是一个变量,如何获取它将取决于如何或是否导出它。@VipLabatil如果我们这样使用它,我们会收到消息TypeError:ourCustomClassFile.SendErrorNotification不是一个函数