<script>
function getMonthName(mo) {
mo = mo - 1;
let months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
if (months[mo]) {
return months[mo];
} else {
throw `${mo}월의 값은 1~12까지 입니다`;
}
}
let myMonth = 10;
try {
monthName = getMonthName(myMonth);
console.log(`입력한 달은 ${monthName}월 입니다`)
} catch (e) {
monthName = 'unknown';
console.log(e);
} finally{
console.log('프로그램이 종료 되었습니다');
}
/*
try {
1. 실행할 코드를 입력한다.
2. 정상이라면 문제없이 실행되지만 경우에 따라서 예외가 발생할 수 있다.
3. 예외는 throw명에 의해 발생할 수도 있다.
4. 예외를 발생시키는 매서드에 의해서도 발생할 수 있다.
}catch(예외객체) {
1. 예외가 발생하면 예외객체를 전달 받을 수 있다.
2. 예외객체를 전달 받지 않을 경우에는 매개변수 없이 catch{}
3. catch블럭은 예외 발생 시 예외별로 처리할 수가 있다.
즉, 여러개의 catch블럭을 정의할 수가 있다.
}finally {
finally블럭은 예외발생 유무와 상관없이 반드시 처리가 되는 블럭이다.
}
*/
</script>
<script>
try{
console.log(nothing);
// e.name : 에러이름, 정의되지 않은 변수의 에러는 ReferenceError
// e.message : 에러내용
// e.stack : 현재 호출된 주소(stack)
}catch(e) {
document.write(e.name, '<br>');
document.write('주소를 찾지...', '<br>');
document.write(e.stack, '<br>');
}
// 예외발생 throw
try{
const val = parseInt(prompt('짝수를 입력'))
if(val%2 !==0){
throw new Error('짝수가 아닙니다');
}
}catch (e){
alert(e.message);
}
</script>
'일 > javascript' 카테고리의 다른 글
js12_events (0) | 2023.06.01 |
---|---|
js11_Query (0) | 2023.06.01 |
js09_builtin (0) | 2023.06.01 |
js08_events (1) | 2023.06.01 |
js07_DOM (0) | 2023.06.01 |