본문 바로가기
코딩 공부/JavaScript

[JS] 예외처리

by 현장 2022. 11. 1.

예외처리

실수, 예상치 못한 사용자 입력,잘못된 서버 응답 등의 이유 발생시 스크립트가 죽는 걸 방지하기위한 처리

try catch문법

스크립트 에러가 발생해도 catch에서 에러를 처리하기 때문에 스크립트가 죽지 않습니다.

try {
    console.log(name);
    let name = "홍길동";
} catch (error) {
    console.log(error.name);
    console.log(error.message);
    console.log(error.stack);
}

동작 순서

1. 먼저 try {} 안의 코드 실행
2. 에러가 없다면, try 안의 마지막 줄까지 실행, catch 블록은 건너뜀
3. 에러가 있다면, try 안의 코드의 실행이 중단되고, catch(err) 블록 안 코드 실행

error 프로퍼티 종류

- name: 에러 이름, 정의되지 않은 변수 때문에 발생하는 에러인 경우 ReferenceError가 출력
- message: 에러 상세 내용을 담고 있는 메시지
- stack: name : message 형태의 문자열로 출력

try catch finally문법

finally는 try와 catch가 실행을 마친 후 항상 실행됩니다.

let result;
function fn(n) {
if (n > 0) {
    return Number(n);
}
// 에러를 강제적으로 발생시카는 throw 연산자 객체
throw new Error("양의 정수로 형변환 불가, 0으로 초기화");
}

try {
    result = fn("가");
} catch (error) {
    result = 0;
    console.log(error.stack);
} finally {
    console.log(result);
}

동작 순서

1. 먼저 try {} 안의 코드 실행
2. 에러가 없다면, try 안의 마지막 줄까지 실행, catch 블록은 건너뜀, finally 블록 실행
3. 에러가 있다면, try 안의 코드의 실행이 중단되고, catch(err) 블록 안 코드 실행, finally 블록 실행

 

'코딩 공부 > JavaScript' 카테고리의 다른 글

[JS] DOM(Document Object Model)  (0) 2022.11.01
[JS] 브라우저 객체  (1) 2022.11.01
[JS] 일급객체와 일급함수  (0) 2022.10.31
[JS] 내장 객체  (0) 2022.10.31
[JS] 함수  (0) 2022.10.20