try~catch~finally
try : 예외가 발생할지도 모르는 코드를 정의한다.
catch : try절에서 예외가 발생할 경우 실행되는 코드를 정의한다.
finally : 예외와 상관없이 무조건 실행되는 코드를 정의한다.
- try는 catch와 finally 중 1가지 이상과 함께 사용된다.
- return, continue, break 문 등으로 인해 try 절이 끝나게 되면 finally까지 실행이 된 후에 돌아갈 곳으로 돌아가게 된다.
- 만약 finally 절 안에서 rerurn, continue, break, throw가 발생하게 되면 try에서 먼저 발생한 return, continue, break는 무시되고 finally 절 안의 것만 처리된다.
- 예외 처리는 확실한 예외 처리를 보장하지만 처리에 시간과 메모리가 많이 소요된다.
- catch(err) : err 객체에는 name과 message 프로퍼티가 있다. 간단한 에러일 때는 (err) 없이 사용할 수 있다.
throw
예외를 강제로 발생시켜야 경우에 사용한다. 객체를 잘못 사용하는 사용자에게 예외를 강제로 발생시켜서 사용자에게 주의를 줄 수도 있고 예외와 관련된 처리를 해달라고 부탁할 수도 있습니다.
new Error("어떤 에러가 발생했습니다."), new SyntaxError, new ReferenceError
let div = 0;
let num1 = 2;
let num2 = 0;
try {
if (num2 === 0) {
throw new Error('0으로 나누기');
}
div = num1 / num2;
}
catch (e) {
console.log(e.message); //0으로 나누기
}
2 나누기 0은 에러가 날 일이 없지만 강제로 예외를 발생시켜서 처리해줄 수 있다.
'개발 > Javascript(Typescript)' 카테고리의 다른 글
promise, 동기, 비동기 (0) | 2023.10.11 |
---|---|
for문을 동기적으로 처리하기 (1) | 2023.10.10 |
bcrypt로 비밀번호 암호화하기 (0) | 2023.08.31 |
[postgresql] express 서버에서 데이터 insert 하기 (0) | 2023.08.30 |
[자바스크립트] 이벤트루프 (0) | 2023.08.17 |