예외 처리
프로그래밍을 하다 보면 예상치 않은 곳에서 오류가 발생할 때가 있다. 그 오류가 문법적인 오류일 때도 있고, 정상적인 문법인데도 오류가 발생할 때가 있다.
에러 (Error) - 문법적 오류일 때 발생하는 오류. try{}catch{} 문으로 해결할 수 없는 오류.
예외 (Exception) - 정상적인 문법인데 프로그램 실행 중 발생하는 오류. try{}catch{} 문으로 해결할 수 있는 오류.
예외 처리 방법
프로그램에서 예외가 발생하면 프로그램이 멈춰버리는 상황이 발생한다.
그래서, 프로그램에서 예외 발생시 이를 처리하기 위해 try{}catch{}finally문을 사용한다.
1. try{}문 : 예외가 발생될거라는 의심가는 부분에 try{}문으로 감싸고,
2. catch{}문 : 그 예외 처리는 catch{}문에서 처리한다.
3. finally{}문 : 예외가 발생하든 안하든 try{}문이나 catch{}문 종료시 무조건 실행한다
예외 객체(exception) 속성
catch(exception){}문에서 exception 식별자로 오류에 관한 것이 넘어온다. 그 속성을 살펴본다.
exception.name : 예외 이름
exception.message : 예외 메시지
exception.description : 예외 설명
아래는 예외를 발생하고 처리하는 try{}catch{}문 이다.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script> try{ // 정상적인 코드 var value = 1; document.write('예외 생성 전' + '<br>'); // 비정상적인 코드 - 예외가 발생한다. value.test(); // 위에서 예외가 발생했으므로 이 코드는 실행 안되고 catch문으로 들어간다. document.write('예외 생성 후' + '<br>'); }catch(exception){ // 예외 발생시 들어온다. document.write('예외 발생' + '<br>'); // 예외 이름 document.write('exception.name: ' + exception.name + '<br>'); // 예외 메시지 document.write('exception.message: ' + exception.message + '<br>'); // 예외 설명 document.write('exception.description: ' + exception.description + '<br>'); }finally{ document.write('finally 실행' + '<br>'); } document.write('try catch문 종료' + '<br>'); </script> </head> <body> </body> </html>
value라는 1을 대입한 변수 생성 후, 존재하지 않는 test()메소드를 호출함으로서 예외가 발생한다.
아래는 결과 출력이다.
'프로그래밍 > 자바스크립트' 카테고리의 다른 글
HTML, CSS 및 JavaScript를 사용하여 웹 아날로그 시계를 만드는 방법 (1) | 2023.11.24 |
---|---|
[자바스크립트] 문서 객체 가져오기 (0) | 2017.08.29 |
[자바스크립트] window.moveBy() window.moveTo() - window 이동하기 (0) | 2017.08.28 |
[자바스크립트] Date 객체 및 D-day(디데이 날짜 및 시간 계산 (1) | 2017.08.27 |
[자바스크립트] 문서 객체 동적 생성 - createElement(), createTextNode(), appendChild(), innerHTML() (0) | 2017.08.25 |
댓글