Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript try...catch 문 완벽 가이드: 예제로 배우는 에러 처리 방법

try와 catch 문이란?

JavaScript의 try 문은 코드 블록을 실행하면서 오류(error)가 발생하는지 테스트할 수 있도록 도와주는 에러 처리 구문입니다. 코드 실행 중 오류가 발생하면, 이어지는 catch 문이 해당 오류를 잡아내어(catch) 적절히 처리(handle)합니다. 덕분에 런타임 에러가 발생해도 프로그램 전체가 중단되지 않고 안정적으로 동작하도록 만들 수 있습니다.

다음은 JavaScript에서 try와 catch 문을 사용하는 방법을 보여주는 코드입니다.

예제

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .result {
        font-size: 20px;
        font-weight: 500;
    }
</style>
</head>
<body>
<h1>Try and catch in JavaScript</h1>
<div style="color: green;" class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>
Click on the above button to call a variable before it is defined
</h3>
<script>
    let resEle = document.querySelector(".result");
    document.querySelector(".Btn").addEventListener("click", () => {
        try {
            resEle.innerHTML = a;
        }
        catch (err) {
            resEle.innerHTML = "Error = " + err;
        }
        let a = 44;
    });
</script>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 화면이 출력됩니다.

JavaScript try...catch 문 완벽 가이드: 예제로 배우는 에러 처리 방법

'CLICK HERE' 버튼을 클릭하면 −

JavaScript try...catch 문 완벽 가이드: 예제로 배우는 에러 처리 방법

코드 동작 원리 살펴보기

버튼을 클릭하면 try 블록 안에서 아직 선언되기 전인 변수 a에 접근하게 됩니다. let으로 선언된 변수는 호이스팅(hoisting)되더라도 초기화 전에는 접근할 수 없으므로, 참조 에러(ReferenceError)가 발생합니다.

이때 catch(err) 블록이 에러 객체를 받아 화면에 Error = ReferenceError: Cannot access 'a' before initialization와 같은 메시지를 출력합니다. 만약 try...catch가 없었다면 스크립트 실행이 그 자리에서 중단되었을 것입니다.