본문 바로가기

웹 프로그래밍/JavaScript

[JS] 예외처리, 사용자 정의 예외 처리

JAVA에서는 예외라고 하는 상황을, JS에서는 에러라고 한다.

new Error(e) 등의 형태로 쓴다.

- e.message

 

에러 처리

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
	try {
		let array = new Array(99999999999) //배열 길이에 제한이 있음!
	} catch(e) { // JAVA 에서는 Exception e 라고 쓴다. JS에서는 타입이 없기 때문에 변수명만 써준다.
		alert('예외 발생!')
		console.log(e)
		console.log(e.message)
		
		for(var i in e) {
			document.write(i + ' : ' + e[i] + '\n') // 적용이 안되네.
		}
	} finally{
		console.log('finally 구문 진입...')
	}
</script>
</head>
<body>

</body>
</html>

 

 

사용자 정의 에러

: 조건문 내에 throw new Error('~~~')라고 작성하면 사용자가 정의한 에러 처리 가능.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
	
	try {
		let num = Number(prompt('짝수를 입력하세요'))
		if(!num || num % 2 != 0) //값이 없을 때 false가 나온다. !num 하면 값이 없을 때 true
			throw new Error('짝수만 입력하세요!!!!')
		document.write('짝수 : ' + num + '<br>')
	} catch(e) {
		alert(e.message)
	}
	
</script>
</head>
<body>

</body>
</html>