Effect.catchAllCause
全てのCause (effect)をcatchする
Effect.catchAll に加えて、Defect (effect) も含めて扱える
Cause (effect)に基づいて処理される
https://effect.website/docs/error-management/expected-errors/#catchallcause
code:ts
import { Cause, Effect } from "effect"
// Define an effect that may fail with a recoverable or unrecoverable error
const program = Effect.fail("Something went wrong!")
// Recover from all errors by examining the cause
const recovered = program.pipe(
Effect.catchAllCause((cause) =>
Cause.isFailType(cause)
? Effect.succeed("Recovered from a regular error")
: Effect.succeed("Recovered from a defect")
)
)
Effect.runPromise(recovered).then(console.log)
// Output: "Recovered from a regular error"