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

에러 핸들링

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

에러가 발생하는 원인은 굉장히 많지만 실수, 사용자의 잘못된 입력 등이 있습니다.
만약 에러가 발생한다면 서버는 중단되고 콘솔에 에러가 출력되지만.
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란 에러의 유무와 상관없이 항상 실행됩니다.

좋은 웹페이지 즐겨찾기