이 글은 혼자공부하는 자바스크립트(저자 : 윤인성)의 책 내용과 유튜브 동영상을 참고하여 개인적으로 정리하는 글임을 알립니다.
try - catch - finally 문
try{
//예외 발생 가능성이 있는 코드
} catch(exception){
//예외처리를 할 코드
} finally{
//무조건적으로 실행될 코드
}
finally 구문은 catch 구문에서 return, break, continue 등을 만나더라도 실행된다.
또한 파일 입출력등에서 파일을 사용 도중에 오류를 만나면 리소스를 자동으로 닫는 상황에서도 사용된다.
예외 객체
예외 객체 속성
속성이름 | 설명 |
name | 예외 이름 |
message | 예외 메시지 |
<!DOCTYPE html>
<html>
<head>
<title>localStorage에 JSON 데이터 저장하기</title>
<script>
try{
console.rog("Asd") //예외 발생코드
} catch(exception){
console.log(exception.name)
console.log(exception.message)
} finally{
//무조건적으로 실행될 코드
}
</script>
</head>
<body>
</body>
</html>
예외 강제 발생
상황에 따라서 예외를 강제로 발생시켜야 하는 경우도 있다.
자바스크립트는 유연한 언어라서 엄청나게 큰 잘못을 하지 않는이상 예외를 발생시키지 않기 때문에, 프로그램의 안정성을 위해서 예외를 강제로 발생시켜야 하는 경우가 종종 발생한다.
// 단순하게 예외를 발생
throw '예외 내용'
//조금 더 자세하게 예외 발생
throw new Error('예외 내용')
function divide(a, b) {
if (b === 0) {
throw '나누는 수는 0이 될 수 없습니다.'
}
return a / b;
}
const result = divide(10, 0);
function divide(a, b) {
if (b === 0) {
throw new Error('나누는 수는 0이 될 수 없습니다.');
}
return a / b;
}
try {
const result = divide(10, 0);
console.log('나눈 결과:', result);
} catch (error) {
console.error('예외 발생:', error.message);
}
'JavaScript Category > JavaScript' 카테고리의 다른 글
[JavaScript] 클래스 (0) | 2024.01.18 |
---|---|
[JavaScript] 문서 객체 모델(DOM:Document Object Model) (0) | 2024.01.17 |
[JavaScript] 객체(Object) (0) | 2024.01.16 |
[JavaScript] 함수 (1) | 2024.01.15 |
[JavaScript] 반복문 (0) | 2024.01.14 |