Files
scriptc/tests/corpus/global-error-subclasses.ts
Chris Tate c257368c5e Compile Effect generators statically (#589)
* Compile Effect generators statically

* test: declare the dormant array write's expected fence
2026-09-30 14:25:29 -05:00

22 lines
842 B
TypeScript

class Failure extends globalThis.Error {
code = "E_FAILURE";
constructor(message: string) {
super(message);
this.name = "Failure";
}
}
class Invalid extends globalThis.TypeError {}
const failure = new Failure("failed");
console.log(failure.name, failure.message, failure.code);
console.log(failure instanceof Error, failure instanceof Failure);
const invalid = new Invalid("invalid");
console.log(invalid.name, invalid.message, invalid instanceof TypeError);
console.log(failure instanceof globalThis.Error, invalid instanceof globalThis.TypeError);
const erased: unknown = invalid;
console.log(erased instanceof globalThis.Error, erased instanceof globalThis.TypeError, erased instanceof globalThis.RangeError);
try { throw failure; } catch (error) {
if (error instanceof Failure) console.log(error.message, error.code);
}