0Pricing
TypeScript Academy · Lesson

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

  1. Typed Error Classes and Hierarchies
  2. The Result Pattern: Ok and Err
  3. Narrowing Caught Errors (unknown vs Error)
  4. Error Handling in Async TypeScript Code
← Back to TypeScript Academy