예외 처리
오류
•
구문 오류 (syntax error)
◦
프로그램 실행 전 발생하는 오류
•
예외(exception) 또는 런타임 오류(runtime error)
◦
프로그램 실행 중 발생하는 오류
예외 (exception)
•
철자나 괄호를 닫지 않는 등
기본 예외 처리
1.
if 문으로 처리
고급 예외 처리
1.
try catch finally 구문 사용
try {
// 예외 발생할 가능성 있는 코드
} catch {
// 예외 발생했을 때 실행할 코드
} finally {
// 무조건 실행할 코드
}
JavaScript
복사
요약
•
구문 오류
◦
프로그램 실행 전에 발생하는 코드의 문법적인 문제로 발생하는 오류
•
얘외
◦
프로그램 실행 중에 발생하는 모든 오류
•
얘외 처리
◦
얘외가 발생했을 때, 프로그램이 중단되지 않게 하는 처리
◦
구문 오류는 예외 처리로 처리할 수 없음
•
try catch finally
◦
try 구문 안에서 예외 발생하면 → catch 구문에서 처리,
◦
finally 구문은 예외 발생 여부와 상관없이 실행해야 하는 작업이 있을 때 사용
예외 객체
•
예외 객체 (exception object)
◦
try catch 구문을 사용할 때, catch의 괄호 안에 입력하는 식별자
◦
아무 식별자나 입력해도 괜찮지만, e나 exception이라는 식별자 사용함
•
얘외 개체의 속성
◦
name - 예외 이름
◦
message - 예외 메시지
•
JS의 배열 크기가 한정되어 있기 때문에, 배열을 너무 크게 선언하면 오류를 발생하는 것을 이용해 이를 예외 처리하고, 오류를 출력해보는 코드 → 8-2-1.html
예외 강제 발생
•
예외를 강제로 발생시킬때는 throw 키워드 사용
throw 문자열
throw new Error(문자열)
JavaScript
복사
•
자바스크립트 콘솔에서 throw 구문 사용
•
divide() 함수 이용
•
JS는 undefined와 NaN이라는 값이 있어서, 다른 프로그래밍 언어에 비해서 예외를 많이 발생하지는 않음
•
그렇기 때문에 사용자에게 함수를 잘못 사용했다는 것을 강제로라도 인지시켜줄 필요 있음