Как расширить хост-объект (например, Ошибка) в TypeScript
Я хотел бы расширить объект хостаError
на заказUploadError
учебный класс. В следующем примере происходит сбой при компиляции:
class UploadError extends Error {
constructor(message: string, private code: number) {
super(message);
}
getCode(): number {
return this.code;
}
}
Когда я запускаю компилятор TypeScripttsc
Я получаю следующую ошибку:
UploadError.ts(1,0): A export class may only extend other classes, Error is an interface.
Похоже на тоError
определяется как интерфейс. Если кто-нибудь знает, как называется реализация, я бы очень обрадовался :-)
function UploadError (message: string, code: number) {
this.message = message;
this.code = code;
}
UploadError.prototype = new Error();
UploadError.prototype.constructor = UploadError;
UploadError.prototype.getCode = (): number => {
return this.code;
}