Search
Duplicate
moon
sun

예외처리

예외처리

정의

프로그램 실행 중에 예기치 않은 상황이 발생했을 때 이를 적절하게 처리하는 프로그래밍의 한 방법

문법

주요 속성 및 메소드

속성 및 메소드
설명
try...catch
예외를 처리하는 기본적인 구문으로, 예외가 발생할 수 있는 부분을 try 블록에 넣고, 예외가 발생하면 catch 블록에서 처리합니다.
throw
예외를 강제로 발생시키는 키워드로, throw 다음에 오는 값은 catch 블록에서 사용됩니다.
Error 객체
예외 정보를 나타내는 내장 객체로, 예외의 종류와 메시지를 포함합니다.

예시 코드

try { // 예외 발생 가능한 부분 throw new Error('이 예외는 의도적으로 발생시켰습니다.'); // 예외 발생하지 않는 부분 console.log('이 부분은 실행됩니다.'); } catch (error) { // 예외 처리 console.error('예외가 발생했습니다:', error.message); } finally { // 항상 실행되는 부분 console.log('finally 블록: 이 부분은 항상 실행됩니다.'); }
JavaScript
복사
1.
try-catch 블록: 예외 처리를 위한 기본적인 구조로, 예외가 발생할 수 있는 코드를 try 블록에 작성하고, 예외가 발생하면 catch 블록에서 예외를 처리합니다.
2.
throw 문: 예외를 의도적으로 발생시키는 역할을 합니다. 프로그램에서 특정 조건이 충족되면 개발자가 직접 예외를 발생시켜 처리할 수 있습니다.
3.
finally 블록: 예외가 발생하든 말든 항상 실행되는 블록으로, 주로 리소스의 정리나 마무리 작업을 수행하는 데 사용됩니다.

파일 시스템 예외

error_file.js
// const fs = require('fs') // 콜백 기반 const fs = require('fs').promises // Promise 기반 setInterval(() => { // 파일 삭제 // fs.unlink('파일경로', 에러콜백함수) // 콜백 방식 // fs.unlink('./test.js', (err) => { // if( err ) { // console.log(err); // } // }) // Promise fs.unlink('./test.js').catch( console.error ) }, 1000)
JavaScript
복사

예측 불가 예외 처리

error_process.js
// uncaughtException : 예기치 못한 에러 process.on('uncaughtException', (err) => { console.log('예기치 못한 에러', err); }) setInterval(() => { throw new Error('에러 강제 발생') }, 2000)
JavaScript
복사

주요 사용 목적

프로그램에서 예외 상황에 대한 처리를 구현하여 안정성을 확보합니다.
예외가 발생한 경우 프로그램이 비정상 종료되지 않도록 대응합니다.
예외 정보를 수집하여 로깅하거나, 사용자에게 적절한 메시지를 제공합니다.