Notice
Recent Posts
Recent Comments
Link
개발자 jin K
[Javascript] 예외 처리 throw 본문
자바 스크립트에선 throw 를 통해 예외를 강제로 발생시킬 수 있다.
이때 자신이 정의한 예외를 던질 수 있는데 문자열로 던지고 문자열로 받는다.
무슨 이야기인지는 코드로 살펴보자.
코드 예제
// 예외 처리 발생시키는 throw 키워드. // 여기서 throw의 예외 이름과 catch문 안에서 조건 비교할시 ''라는 문자열을 둘 다 넣어준 점을 확인. function test() { try { console.log('A'); throw 'myException'; } catch(exception) { console.log('B'); if (exception == 'myException') { console.log('myException'); } return; } console.log('C'); } test(); |
결과는 콘솔에
'A',
'B'
'myException'이 차례로 찍힌다.
예를 들어 throw 'myException'이 아닌 throw myException 일 경우 console.log에 myExcetpion이 찍히지 않는다. 결과는 'A'와 'B'만 찍히고 실행이 끝난다.
또 catch 문 안의 if (exception == 'myException')이 아니라 if (exception == 'myException')이라고 할 경우에도 예외처리가 원하는 대로 콘솔에 myException이 찍히는 형태가 되지 않는다. Uncaught ReferenceError: myException is not defined 에러가 뜬다. myException이라는 변수가 정의되지 않았기 때문이다.
마지막으로 throw와 catch문 안의 if의 myException을 둘다 따옴표 ''에 넣지않고 문자열이 아닌 것으로 주었을 경우에도 Uncaught ReferenceError: myException is not defined 에러가 뜬다. 이유는 두번째와 동일하다.
즉 정리하자면,
자바스크립트의 사용자 정의 예외 객체는 문자열 내용을 비교하는 것으로 발생시킨다는 것을 알 수 있다.
'자바스크립트' 카테고리의 다른 글
[Javascript] window.opener 와 window.parent의 차이 (0) | 2021.05.27 |
---|