#에러처리
에러핸들링 try-catch
연재몬
2022. 3. 14. 21:47
try{
//소스코드작성
//이안에서 에러 발생
hi
} catch(error) {
//catch가 에러를 잡아줌
console.log("내가잡은 에러는", error.message)
}
=> hi is not defined 표시
throw = 강제로 에러를 발생
try{
//소스코드작성
//이안에서 에러 발생
if(weight < 30) {
throw new Error("에러메세지 작성")
}
} catch(error) {
//catch가 에러를 잡아줌
console.log("내가잡은 에러는", error.message)
}
이 경우 조건에 맞지않은 코드를 작성하면
try에서 쓴 에러메세지가 출력 됨
try…catch는 오직 런타임 에러에만 동작한다.
실행가능한 코드에만 try catch가 가능하다.
만약에 { }중괄호 짝이 안맞다던지 그런 문법적인 에러로 돌아갈수 없는 코드라면 try catch가 동작할 수 없다.
- 에러 객체 Error
try에서 에러가생기면 catch 블락에 error정보를 error객체안에 넣어서 매개변수로 전달해준다.
Error객체를 살펴보면 안에 name, message등 여러 이용가능한 속성값이 있지만 에러를 보기위해선 Error.message만 기억해도 좋다
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error #에러객체
Error - JavaScript | MDN
Error objects are thrown when runtime errors occur. The Error object can also be used as a base object for user-defined exceptions. See below for standard built-in error types.
developer.mozilla.org
** 즉, try안에서는 에러를 잡고 catch로 이동한다 **
에러핸들링을 하고싶다면, 소스코드를 try 안에 쓸 것
참고로 에러가 발생되는 순간 그 후의 코드는 읽히지않음