[JavaScript] 예외 처리

구문오류와 예외

오류의 종류

  • 구문 오류(syntax error) : 프로그램 실행 전에 발생하는 코드의 문법적인 문제로 발생하는 오류
    • 닫는 괄호를 입력하지 않아 발생하는 경우의 예 : 괄호가 닫히지 않았다고 바로 알려주므로 해당 위치의 괄호를 제대로 닫아주면 오류 해결
  • 예외(exception)또는 런타임 오류(runtime error) : 프로그램 실행 중에 발생하는 오류
    • console.log()메소드를 입력할 때 console.rog()로 오타발생 : console.rog is not a function 오류출력

기본 예외 처리

  • 예외가 발생했을 때 프로그램이 중단되지 않게 하는 처리, 구문 오류는 예외처리로 처리 불가능
  • querySelector()메소드로 추출된 문서 객체가 없는 경우
const h1 = document.querySelector('h1')
if(h1){
  h1.textContent='안녕하세요'
}else{
  console.log("h1 태그를 추출할 수 없습니다.")
}

고급 예외 처리

  • try catch finally 구문을 상요해 예외를 처리
  • try 구문 안에서 예외가 발생하면 더이상 try구문을 진행하지 않고 catch구문을 실행
  • debug를 위해 throw로 예외를 발생시키며, catch문에 return이 있어도 finally 구문은 반드시 실행
try{
//예외가 발생할 가능성이 있는 코드
}
catch(exception){
//예외가 발생했을 때 실행할 코드
}
finally{
//무조건 실행할 코드(finally구문은 필요한 경우에만 사용)
}

예외 객체(exception object)

  • try catch구문을 사용할 때 catch의 괄호안에 입력하는 식별자. 아무 식별자나 입력해도 괜찮지만 일반적으로 e나 exception이라는 식별자를 사용
  • 예외를 강제로 발생시킬 때는 throw 키워드를 이용
try{
}catch(e){
}

throw 문자열
throw new Error(문자열)

//콘솔에서 throw구문을 이용
throw '문자열'
throw new Error ('문자열')

댓글남기기