일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 에러 던지기
- 자바스크립트의 기본 포멧
- 자바스크립트 생성자
- 자바스크립트 문자열
- 비구조화 할당
- 브라우저 탐지
- JS cod e style
- 자바스크립트 클래스
- 에이전트 탐지
- javascript
- 트라이캐치
- Null비교 금지
- Programming Practice
- React 리액트
- 스타일가이드라인
- 객체지향프로그래밍 언어
- JS 이벤트
- 자바스크립트 코드 스타일
- 변수 선언
- 함수 호이스팅
- 사용자 에러
- js
- 리엑트 이벤트
- UI 레이어
- 자스
- Try...catch
- html5
- 자바스크립트
- 프로그래밍 프랙티스
- 자바스크립트 객체
- Today
- Total
GomJu's Coding Blog
[JS] 19. 자바스크립트 기초 문법 - 예외처리 본문
Q : 자바스크립트의 예외처리는 어떻게 진행되나요?
A : 자바스크립트에선 대표적으로 try catch문을 통해서 예외처리가 진행됩니다.
자바스크립트의 예외처리는 다른 언어들과 다르지 않습니다. 먼저 예외처리가 무엇인가에 대해 설명드리겠습니다.
예외처리
예외처리는 프로그램이 실행되는 동안 문제가 발생할 때 대처할 수 있게 처리하는 것
입니다. 이때 예외는 프로그램 실행 중 발생하는 오류이고, 에러는 프로그래밍 언어의 문법적인 오류입니다.
예외처리에는 기본예외처리와 고급예외처리로 나눌 수 있습니다.
기본예외처리
기본적인 예의처리에는 if문의 else if문
이 있습니다.
if (node.addEventListener) { node.addEventListener(event, listener, false); // 파이어폭스, 크롬, 사파리, 오페라
} else if (node.attachEvent) { node.attachEvent('on' + event, listener);
// 익스 플로러
} // if
고급 예외 처리
고급 예외처리에는 try캐워드와, catch키워드, finally 키워드를 사용하여 예외를 처리합니다. try구문안에서 예외가 발생할 경우 catch문을 실행하는 형태입니다. finally문은 예외가 발생해도 작동하고, 발생하지 않아도 작동합니다. 꼭 존재하지 않아도 됩니다.
그리고 catch문에는 특별한 식별자가 존재합니다. 문법상 catch문의 괄호에는 e
또는 exception
식별자를 넣어줘야 합니다. 이 예외객체의 속성은 message(예외 메세지)
, description(예외 설명)
, name(예외 이름)
으로 이루어집니다.
다음은 try catch문의 예시입니다.
let a = 10;
try {
console.log('try문 입니다.'); // 정상 작동
a(); // 존재하지 않는 함수
console.log('try문 종료'); // 위에서 예외가 발생해서 작동하지 않음
} catch (e) {
console.log('예외처리 발생시 작동');
} finally {
console.log('무조껀 작동');
}
예외를 억지로 발생시킬때는 throw
문을 사용합니다. throw문을 사용하면 예외객체로 포함되게 됩니다. 다음은 그 예시입니다.
if(true) {
throw "Throw In The hole!";
}
try {
console.log('try문 입니다.');
a();
console.log('try문 종료');
} catch (e) {
console.log('예외처리 발생시 작동');
console.log(e); // "Throw In The hole!"
}
마무리
지금까지 자바스크립트의 기초문법에 대해서 포스팅을 했습니다. 제가 포스팅한 문법을 제외하고도 정말 많은 문법이 있고, 더 자세하고 섬세하기 정리된 블로그들이 존재합니다. 수준 높은 글을 읽어보시려면 구글을 이용하시기 바랍니다.
다음 포스팅 부터는 자바스크립트의 스타일가이드에 해당하는 부분을 포스팅하겠습니다.
'WEB > JavaScript' 카테고리의 다른 글
[JS] 21. 기본 포맷 (0) | 2018.12.01 |
---|---|
[JS] 20. 스타일-가이드-라인(Style-Guide-Line) 이란? (0) | 2018.11.30 |
[JS] 18. 자바스크립트 기초 문법 - 비교연산자 (0) | 2018.11.28 |
[JS] 17. 자바스크립트 기초 문법 - 호이스팅 (0) | 2018.11.27 |
[JS] 16. 자바스크립트 기초 문법 - 모듈 (0) | 2018.11.26 |