← 목록

Node.js에서의 에러 핸들링 기초 🚀

작성: 2024년 07월 06일읽기: 약 3분

Node.js에서 코드를 작성하다 보면 예상치 못한 문제들이 발생할 수 있습니다. 이런 문제들을 우리는 보통 '에러'라고 부릅니다. 에러를 잘 처리하는 것은 어떤 좋은 애플리케이션을 만드는 데 있어 매우 중요한 부분입니다. 오늘은 Node.js에서 에러를 어떻게 효과적으로 다룰 수 있는지에 대해 알아보겠습니다.

에러 처리의 기본

Node.js에서 에러를 처리하는 가장 기본적인 방법은 trycatch 문을 사용하는 것입니다. 이 방법을 통해 코드가 실행되는 동안 발생할 수 있는 에러를 잡아내고, 그에 대한 적절한 대응을 할 수 있습니다.

예를 들어, 파일을 읽으려고 할 때 발생할 수 있는 에러를 처리해보겠습니다.

const fs = require('fs');

try {
  const data = fs.readFileSync('/path/to/file');
  console.log(data);
} catch (error) {
  console.error('파일을 읽는 중 에러가 발생했습니다:', error);
}

위 코드에서 readFileSync 함수는 파일을 동기적으로 읽으려고 할 때 사용됩니다. 만약 파일이 존재하지 않아 에러가 발생한다면, catch 블록이 실행되고 에러 메시지가 출력됩니다.

비동기 코드에서의 에러 처리

Node.js는 비동기 프로그래밍을 많이 사용합니다. 비동기 코드에서 에러를 처리할 때는 trycatch만으로는 충분하지 않을 수 있습니다. 대신, 콜백 함수에서 에러를 첫 번째 인자로 받는 방식을 사용하거나, 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에서는 trycatch 문, 콜백 함수, 그리고 Promise를 통해 에러를 효과적으로 처리할 수 있습니다. 이러한 방법들을 잘 활용하여 사용자에게 더 좋은 경험을 제공하는 애플리케이션을 만들어 보세요.