Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中使用的引用在catch块中不可用_Javascript_Node.js_Try Catch_Referenceerror - Fatal编程技术网

javascript中使用的引用在catch块中不可用

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块

在Javascript代码中,我们有一个try…catch块。该类的工作方式如下所示:

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
           );   
}
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不是一个函数