정보실

웹학교

정보실

javascript JavaScript의 사용자 정의 오류

본문

JavaScript는 오류 유형에 따라 try / catch 표현식에서 발생하는 8 개의 오류 객체 세트를 제공합니다. 그들은:


  • Error
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

다음은 기본 Error 클래스를 확장하여 사용자 지정 오류를 만드는 방법을 설명하고 싶습니다.


class OutOfFuelError extends Error {}

class FlatTireError extends Error {}

사용자 지정 오류를 사용하면 오류 종류를 이해하기 위해 오류 메시지를 사용하지 않고도 특정 오류 유형에 따라 다르게 동작 할 수 있습니다.


try {
  //some code
} catch (err) {
  if (err instanceof OutOfFuelError) {
    //handle error
  } else if (err instanceof FlatTireError) {
    //handle error
  }
}


그렇게 하기 전에 물론 코드에서 오류가 명시 적으로 발생해야 합니다.


try {
  const car = new Car() //imagine we have a Car object

  if (!car.fuel) {
    throw new OutOfFuelError('No fuel!')
  }
  if (car.flatTire) {
    throw new FlatTireError('Flat tire!')
  }
} catch (err) {
  if (err instanceof OutOfFuelError) {
    //handle error
  } else if (err instanceof FlatTireError) {
    //handle error
  }
}


오류 생성 중에 클래스와 관련된 모든 것을 사용자 정의 할 수 있으며 필요한 경우 생성자가 수신 한 매개 변수를 사용자 정의 할 수도 있습니다.


class OutOfFuelError extends Error {
  constructor(message) {
    super(message)
    this.name = "OutOfFuelError"
  } 
}


https://flaviocopes.com/javascript-custom-errors/ 




페이지 정보

조회 17회 ]  작성일20-06-30 22:00

웹학교