예외 : 예기치 못한 상황
→ 예측하고 대비하면 프로그램 멈출 걱정이 없다!
JS에서 염두해두고 있는 예외 상황들
Try - catch - finally 문법
try {
//일단 이 부분 실행 -> 예외상황이 생길 수 있는 코드
}
catch{
//에러 생기면 이 부분 실행 //예외 상황 = 에러 객체 생성
}
finally{
//마침내 이 부분 실행 //마지막으로 무조건 실행될 코드
}
예외(에러)가 생기면 catch부분
예외(에러)가 생기지 않으면 finally부분
예시)
try {
console.log("try에 있는 문장");
const result = document.getElementById(id); //있지도 않음
}
catch(e){
console.log("catch에 있는 문장");
//console.log(e); //에러 정보 확인
//console.log(e.name); //에러의 이름정보만 확인
//console.log(e.message); //에러객체가 발생시킨 메시지
//console.log(e.stack); //자세한 에러에 대한 설명
}
finally{
console.log("finally에 있는 문장");
}
if(e.name ===”에러이름”) //에러처리코드사용자 정의 예외
throw 문법 : 디버깅을 하거나 예외를 발생시킬 경우 사용
try {
console.log("try에 있는 문장");
throw new Error("사용자가 정의한 에러가 발생했다!"); //Error 발생
throw "에러가 발생했다!"; //문자열만 출력되게끔 하는 것 //에러 객체 자체가 문자열이 됨
}
catch(e){
console.log("catch에 있는 문장");
console.log(e); //에러 정보 확인
//console.log(e.name); //에러의 이름정보만 확인
//console.log(e.message); //에러객체가 발생시킨 메시지
//console.log(e.stack); //자세한 에러에 대한 설명
}
finally{
console.log("finally에 있는 문장");
}