在Node.js中,可以使用try-catch
语句来捕获异常。此外,还可以使用事件监听器来捕获和处理异常。以下是两种常见的异常捕获方法:
- 使用
try-catch
语句:
在可能抛出异常的代码块中使用try
语句,然后在catch
语句中处理异常。例如:
try { // 可能抛出异常的代码 const result = riskyOperation(); console.log(result); } catch (error) { // 处理异常的代码 console.error('捕获到异常:', error); }
- 使用事件监听器:
Node.js中的许多模块(如fs
、http
等)都是基于事件的。这些模块在发生错误时会触发error
事件。可以通过监听error
事件来捕获和处理异常。例如,使用fs.readFile
读取文件时:
const fs = require('fs'); const readableStream = fs.createReadStream('nonexistent-file.txt'); readableStream.on('error', (error) => { console.error('捕获到异常:', error); }); readableStream.on('data', (chunk) => { console.log(chunk.toString()); });
对于异步函数,可以使用async/await
结合try-catch
语句来捕获异常:
async function main() { try { const result = await riskyOperation(); console.log(result); } catch (error) { console.error('捕获到异常:', error); } } main();
总之,捕获Node.js中的异常需要根据具体的场景选择合适的方法。对于同步代码,可以使用try-catch
语句;对于异步代码,可以使用事件监听器或者async/await
结合try-catch
语句。