javascript - 在 node-ftp 模块中捕获未捕获的异常错误
问题描述
我正在使用 npm ftp 库:https ://www.npmjs.com/package/ftp 我想在 ftp 服务器上上传一个文件,并且我想在连接期间捕获错误,例如登录错误。
我的功能:
const upload = () => {
try {
const ftpClient = new ftp();
fs.readFile(filePathToUpload, 'utf8', (err, data) => {
const fileValue = data.concat(' Timestamp: ', new Date());
ftpClient.on('ready', () => {
ftpClient.put(fileValue, FILENAME_REMOTE, (err) => {
console.log('PUT FTP');
if (err) {
console.log(err);
}
ftpClient.end();
});
});
try {
console.log('connect upload');
ftpClient.connect(ftpConfig);
} catch (connectionError) {
console.log('Connection Error: ', connectionError);
}
});
} catch (err) {
console.log('ERROR-FTP-Upload: ', err);
}
};
但即使我使用,我总是会得到“错误未捕获的异常”
process.on('uncaughtException', err => console.log(err));
全栈跟踪:
{"errorType":"Error","errorMessage":"Login incorrect.","code":530,"stack":["Error: Login incorrect."," at makeError (/var/task/node_modules/ftp/lib/connection.js:1067:13)"," at Parser.<anonymous> (/var/task/node_modules/ftp/lib/connection.js:113:25)"," at Parser.emit (events.js:189:13)"," at Parser.EventEmitter.emit (domain.js:441:20)"," at Parser._write (/var/task/node_modules/ftp/lib/parser.js:59:10)"," at doWrite (_stream_writable.js:410:12)"," at writeOrBuffer (_stream_writable.js:394:5)"," at Parser.Writable.write (_stream_writable.js:294:11)"," at Socket.ondata (/var/task/node_modules/ftp/lib/connection.js:273:20)"," at Socket.emit (events.js:189:13)"]}
我该如何处理错误?
解决方案
const ftpClient = new ftp();
ftpClient.on('error',console.dir);//add error listener.
// rest code...
推荐阅读
- go - 如何模拟 TCP 拨号超时?
- python - 如何以异步方式迭代标准字典
- html - 在响应模式下缺少页脚链接(Firefox 和 Chrome)
- javascript - 在javascript中的foreach执行时删除元素的最佳方法是什么?
- python - 具有相同数据集(UCI 学生表现数据集)的 Sklearn 线性回归的不同结果
- java - 在 Java 中获取单词的反义词 - Wordnet JWI
- output - pytesseract 在结果值之后添加一两行返回吗?
- reactjs - 通过平滑滚动应用持续时间
- python - Django Admin:应用程序部分而不是身份验证部分中的自定义用户模型
- javascript - 从异步函数返回 https 获取请求正文值