JS/JS 공부

[JS] try~catch 예외 처리

congs 2023. 4. 18. 12:35

try~catch

: 예상되는 에러를 try{code..} 영역에 배치하고,

만약 에러가 발생하면 catch(err){code...} 영역에서 처리하는 예외처리 프로세스

 

  • try영역 : 에러발생 가능성이 있는 코드를 실행하는 곳
  • catch(err) 영역 : 에러발생시 예외 처리를 하는 곳
  • try_catch로 예외 처리를 하면, 프로세스를 멈추지 않고 지속시킬 수 있음
  • finally 영역 : 예외처리와 관계없이 무조건 코드를 실행하는 영역
  • throw : 예외를 고의적으로 발생시키는 키워드
    • throw + 예외발생 후 처리할 코드

 

사용 예시 ) alert => alerttt 오류

 
<script>
        console.log('프로세스 시작');
        try{
            alerttt('경고창 실행'); //명령어가 잘못된 부분
            console.log('경고창 실행 확인');
        }catch(err){
            console.log('catch 영역');
            console.log(err.name); //에러 이름출력 ReferenceError
            console.log(err.message); //에러 메세지출력 alerttt is not defined
        }
        console.log('프로세스 종료')
    </script>
 

 

사용 예시 ) try-catch안에 try-catch

 
<script>
        console.log('프로세스 시작');
        try{
            alerttt('경고창 실행'); //명령어가 잘못된 부분
            console.log('경고창 실행 확인');
        }catch(err){
            console.log('catch 영역');
            console.log(err.name); //에러 이름출력 ReferenceError
            console.log(err.message); //에러 메세지출력 alerttt is not defined
            try{
                if(err.message.toString().length > 0){
                    throw 'throw error'; // 무조건 error (err2 catch를 보려고 사용함!)
                }
            }catch(err2){
                console.log('err2: ',err2.message);
            }finally{
                console.log('err2 finally')
            }
        }finally{
            console.log('(마지막) err finally')
        }
        console.log('프로세스 종료')
    </script>
 

'JS > JS 공부' 카테고리의 다른 글

[JS] JSON 데이터입출력  (0) 2023.04.19
[JS] class, 객체, 생성자  (0) 2023.04.18
[JS] set  (0) 2023.04.18
[JS] Map  (0) 2023.04.18
[JS] 새로고침, 취소 location.reload  (0) 2023.04.18