Node.js에서의 에러 핸들링 기초 🚀
Node.js에서 코드를 작성하다 보면 예상치 못한 문제들이 발생할 수 있습니다. 이런 문제들을 우리는 보통 '에러'라고 부릅니다. 에러를 잘 처리하는 것은 어떤 좋은 애플리케이션을 만드는 데 있어 매우 중요한 부분입니다. 오늘은 Node.js에서 에러를 어떻게 효과적으로 다룰 수 있는지에 대해 알아보겠습니다.
에러 처리의 기본
Node.js에서 에러를 처리하는 가장 기본적인 방법은 try
와 catch
문을 사용하는 것입니다. 이 방법을 통해 코드가 실행되는 동안 발생할 수 있는 에러를 잡아내고, 그에 대한 적절한 대응을 할 수 있습니다.
예를 들어, 파일을 읽으려고 할 때 발생할 수 있는 에러를 처리해보겠습니다.
const fs = require('fs');
try {
const data = fs.readFileSync('/path/to/file');
console.log(data);
} catch (error) {
console.error('파일을 읽는 중 에러가 발생했습니다:', error);
}
위 코드에서 readFileSync
함수는 파일을 동기적으로 읽으려고 할 때 사용됩니다. 만약 파일이 존재하지 않아 에러가 발생한다면, catch
블록이 실행되고 에러 메시지가 출력됩니다.
비동기 코드에서의 에러 처리
Node.js는 비동기 프로그래밍을 많이 사용합니다. 비동기 코드에서 에러를 처리할 때는 try
와 catch
만으로는 충분하지 않을 수 있습니다. 대신, 콜백 함수에서 에러를 첫 번째 인자로 받는 방식을 사용하거나, Promise
를 사용하는 방법이 있습니다.
예를 들어, fs.readFile
함수를 사용하여 비동기적으로 파일을 읽을 때는 다음과 같이 에러를 처리할 수 있습니다.
const fs = require('fs');
fs.readFile('/path/to/file', (error, data) => {
if (error) {
return console.error('파일을 읽는 중 에러가 발생했습니다:', error);
}
console.log(data);
});
Promise
를 사용하는 경우에는 .catch()
메소드를 통해 에러를 처리할 수 있습니다.
const fsPromises = require('fs').promises;
fsPromises.readFile('/path/to/file')
.then(data => console.log(data))
.catch(error => console.error('파일을 읽는 중 에러가 발생했습니다:', error));
결론
에러 핸들링은 프로그램을 안정적으로 만드는 데 필수적인 부분입니다. Node.js에서는 try
와 catch
문, 콜백 함수, 그리고 Promise
를 통해 에러를 효과적으로 처리할 수 있습니다. 이러한 방법들을 잘 활용하여 사용자에게 더 좋은 경험을 제공하는 애플리케이션을 만들어 보세요.