프로그래밍/자바스크립트

[자바스크립트] 예외 처리 - try catch finally 문

오치리일상 2017. 8. 30.

   예외 처리

 

프로그래밍을 하다 보면 예상치 않은 곳에서 오류가 발생할 때가 있다. 그 오류가 문법적인 오류일 때도 있고, 정상적인 문법인데도 오류가 발생할 때가 있다.

 

에러 (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()메소드를 호출함으로서 예외가 발생한다.

 

 

 

아래는 결과 출력이다.

 

 

댓글

💲 추천 글