¿Cómo arrojo un nuevo error con un objeto que contiene detalles de error en TypeScript?
Estoy usando broma para probar el código mecanografiado y quiero arrojar un nuevo error como se muestra a continuación:
mock.spyOn(AppUtils,'util_plane').mockImplementation(() => { throw new Error("Error Message",{status:403}) })cuando hago esto, el compilador se queja diciendo:
Expected 0-1 arguments, but got 2.ts(2554)
El constructor de errores no espera que se le pase {status: number} . Puede crear y usar una clase de error personalizada:
class CustomError extends Error { status: number; constructor(message: string, { status }: { status: number }) { super(message); this.status = status } } // ... throw new CustomError('Error Message', { status: 403 })O podría asignar la propiedad de estado al error después de la creación:
throw Object.assign(new Error('Error Message'), { status: 403 })