Используемая ссылка в javascript недоступна внутри блока catch - javascript


0

Внутри нашего Javascript-кода у нас есть попытка... 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 не определено

Так что мне просто нужно знать: почему функция не определена?

  •  63
  •  1
  • 11 май 2020 2020-05-11 10:17:15

1 ответ

0

внутри вашего customFile.js

const sendErrorNotification = (source, reason, scriptposition) => { 
  ...something and write a mail... 
}
module.exports = {
  sendErrorNotification: sendErrorNotification
}

затем в вашем файле main.js назовите его так:

const ourCustomClassFile = require(./customFile);
...
ourCustomClassFile.sendErrorNotification(..)
...
  • 11 май 2020 2020-05-11 10:17:16