일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- VSCode
- error
- aab 배포
- 자바스크립개념
- ChangeDetectorRef
- getElementsByClassName
- NVM
- zsh
- 테두리굵기
- Sentry
- angular
- sealize
- change detection
- typescript
- JavaScript
- code .
- Git
- fromEvent
- angular5
- ion-range
- Ionic
- 이미지바꾸기
- php
- IONIC3
- oh-my-zsh
- Visual Studio Code
- hashchange
- 변화감지
- border-width
- rxjs
- Today
- Total
hsunny study blog
예외처리 본문
throw 문을 사용할 수 있고 try ...catch 문을 사용하는 예외들을 다룰 수 있다.
예외 유형
- Error
- AggregateError
- EvalError
- InternalError
- RangeError
- ReferenceError
- SyntaxError
- TypeError
- URIError
throw 문법
다양한 유형을 던질 수 있다.
throw "Error2"; // String type
throw 42; // Number type
throw true; // Boolean type
throw {toString: function() { return "I'm an object!"; } };
※ 예외를 사용할 때 객체를 명시할 수 있으며, catch 문 안에서 객체의 특성을 참조할 수 있다.
try ...catch 문법
1개 이상의 try 블록과 0개 이상의 catch 블록으로 구성된다.
try 블록에서 예외가 발생하였을 때 catch 블록으로 이동하고, 그렇지 않은 경우 catch 블록을 건너 뛴다.
finally 문법은 try 블록과 catch 블록의 시행이 끝나고 다음에 진행된다.
catch 블록
throw 문장에 의해 명시된 값을 가지고 있는 식별자를 명시한다. catch 블록에 진입했을 때 식별자를 생성하며, 식별자는 catch 블록에 있는 동안만 유지된다. catch 블록의 시행이 끝난 후, 식별자는 더이상 사용할 수 없다.
finally 블록
try 블록과 catch 블록이 실행되고, try...catch 문 다음 코드가 실행되기 전에 실행되어야 하는 코드들을 담고 있다.
finally 블록 안의 문장들은 어떤 catch 블록도 예외를 처리하지 않더라도 실행된다.
아래와 같은 방식으로 더욱 우아한 실패처리가 가능하다.
openMyFile();
try {
writeMyFile(theData); //This may throw a error
} catch(e) {
handleError(e); // If we got a error we handle it
} finally {
closeMyFile(); // always close the resource
}
만약 finally 블록이 값을 반환하였을 경우, try 블록과 catch 블록의 반환 값은 finally 블록에서 반환하는 값의 형태로 덮어 씌워진다.
'programming > javascript' 카테고리의 다른 글
타입스크립트 잘 사용하기 (0) | 2021.09.07 |
---|---|
스코프 (Scope, 유효범위) (0) | 2021.09.04 |
조건문 안에서 변수 할당하기 (0) | 2021.04.08 |
자바스크립트에서 거짓으로 취급하는 값 (0) | 2021.04.01 |
논리 연산자 (0) | 2020.09.14 |