JavaScript는 오류 유형에 따라 try / catch 표현식에서 발생하는 8 개의 오류 객체 세트를 제공합니다. 그들은:
다음은 기본 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/
등록된 댓글이 없습니다.