Narrowing Caught Errors (unknown vs Error)
Safely handle caught errors typed as unknown.
Welcome
Since TypeScript 4.0, caught errors are unknown. This forces explicit narrowing before using error properties.
TS 4.0 Change
TypeScript 4.0 introduced useUnknownInCatchVariables. Caught errors are unknown in strict mode.
// err is now: unknown
try { doSomething(); }
catch (err) {
// err.message; // Error — cannot access on unknown
}All lessons in this course
- Typed Error Classes and Hierarchies
- The Result Pattern: Ok and Err
- Narrowing Caught Errors (unknown vs Error)
- Error Handling in Async TypeScript Code