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