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 |