[TIL] 자바스크립트 공부 9일차

정인교·2021년 5월 31일
0

TIL(Today I Learned)

목록 보기
8/67
post-thumbnail

에러 핸들링

에러 핸들링은 서버에서 굉장히 중요시되는 부분입니다. 왜냐하면 간단한 에러에도
처리를 해주지 않는다면 서버가 멈춰버릴 수 있기때문입니다.

에러가 발생하는 원인은 굉장히 많지만 실수, 사용자의 잘못된 입력 등이 있습니다.
만약 에러가 발생한다면 서버는 중단되고 콘솔에 에러가 출력되지만.
try catch를 이용하면 서버 중단을 막을 수 있고 에러를 잡은 후 다른 행동을 시킬 수 있습니다. 자세한 내용을 아래에서 설명하겠습니다.

try...catch

try {

  // 코드...

} catch (err) {

  // 에러 핸들링

}

이 문법은 try와 catch블록으로 구성되며,
try안의 블록에는 코드를, catch안의 블록은 에러 핸들링 부분입니다.
위 구문의 알고리즘은 try 안의 코드가 실행되는데, 에러가 없다면 catch를 생략,
에러가 있다면 catch안의 블록을 실행시키고 catch뒤에 있는 err에 에러 객체를 포함시킵니다.

그렇다면 err에는 에러 상세 내용이 담긴 객체를 저장하는데, 이 객체는
name, message,stack을 저장시킵니다.

name - 에러 이름
message - 에러 내용을 담는 메세지
stack - 에러를 유발한 중첩 호출들의 순서 정보를 가진 문자열.
디버깅 목적으로 사용됩니다.

이렇게 저장되고 err.name 등으로 사용할 수 있습니다.
만약 err객체가 필요없다면 catch(err) { ... 이 아닌 catch { 로 사용할 수 있습니다.

throw

throw연산자는 항상 에러를 생성하는 것 입니다.
문법은 throw < err obcject > 이며, 에러 객체를 넣을 수 있습니다.
throw를 이용하여 이런 에러에선 어떻게 대처하는지 catch를 확인하거나
실행해볼 수 있고, 이런 throw를 통해서 모든 에러를 catch로 처리시켜야합니다.

그리고 try...catch는 try와 catch만 있는 것이 아닌 finally라는 것도 있습니다.
finally란 에러의 유무와 상관없이 항상 실행됩니다.

profile
백엔드 개발자 정인교입니다!

0개의 댓글

관련 채용 정보