I have an exception thrown from a package imported by another package, I do not have access to that exception's constructor but I do know that this exception might have a statusCode
field on it. How do I access this field safely when using typescript 4.4's useUnknownInCatchVariables?
CodePudding user response:
You could define your own class which would extend the Error
class, and add a statusCode
field to it. Then in the catch
block you could check if the caught error is an instance
of your error:
class PackageException extends Error {
statusCode: number = 0;
}
try {
// something
} catch (err) {
if (err instanceof PackageException) {
if (err.statusCode === 404) {
// handle not found error
} else if (err.statusCode === 403) {
// handle forbidden error
}
}
}
CodePudding user response:
Inside catch err can be of any type
try {
// something
} catch (err: any) {
if (err.statusCode === 404) {
// handle not found error
} else if (err.statusCode === 403) {
// handle forbidden error
}
}