- 형태
try 블록 catch(식별자) 블록
try 블록 finally 블록
try 블록 catch(식별자) 블록 finally 블록
try 문에서 예외 발생을 인식
예외가 발생하면 catch 블록 실행
finally 블록은 예외 발생과 관계없이 실행
예시
1) try-catch
** 서버에서 데이터를 가져올 때 즉 통신을 할 때에는
오류 방지 즉 보험을 들기 위해 try-catch문을 꼭 써준다.
let value; try { value = ball; } catch(error) { log("catch 실행" ) }// 실행결과 : catch 실행
try 블록에서 ball 변수가 없어 에러 발생
에러 발생 시 catch 블록 실행
파라 미터 error에 JS의 Error 오브젝트 설정
error는 식별자로 임의의 이름 사용 가능하다.
에러가 발생할 가능성이 있으면 반드시 try-catch를 사용해야한다.
2) finally
let sports; try{ sports = ball; } catch(errer){ log("catch 실행"); } finally { log("finally 실행"); } // 실행결과 : catch 실행 finally 실행
try에서 에러 발생하면 catch 블록 실행한 후
finally 블록 실행
finally 블록은 에러가 없어도 항상 실행한다.
- 형태 : throw 표현식;
- 예외를 발생시킴
- 예외가 발생하면 catch 실행
try {
throw "예외 발생"; // throw가 작성되어 에러가 발생함
let food = "음식";
} catch(error) { // 에러 발생으로 catch 블록 실행 throw 밑 코드 실행안함
log(error); // 예외발생
log(food); // undefined
};
# 객체 형태로 보내기
try {
throw {
yo : "예",
yi : "외"
};
} catch(error){
log(error.yo); throw 객체 error안에 들어감 // 예
log(error.yi); // 외
};
# error 오브젝트 생성
try {
throw new Error("예외 메세지"); // error 객체에 프로퍼티 message로 설정됨
} catch(error){
log(error.message); // 예외 메세지
}