MCPcopy Index your code
hub / github.com/Effect-TS/effect / try_

Function try_

packages/effect/src/internal/core-effect.ts:88–113  ·  view source on GitHub ↗
(
  arg: LazyArg<A> | {
    readonly try: LazyArg<A>
    readonly catch: (error: unknown) => E
  }
)

Source from the content-addressed store, hash-verified

86 }): Effect.Effect<A, E>
87 <A>(thunk: LazyArg<A>): Effect.Effect<A, Cause.UnknownException>
88} = <A, E>(
89 arg: LazyArg<A> | {
90 readonly try: LazyArg<A>
91 readonly catch: (error: unknown) => E
92 }
93) => {
94 let evaluate: LazyArg<A>
95 let onFailure: ((error: unknown) => E) | undefined = undefined
96 if (typeof arg === "function") {
97 evaluate = arg
98 } else {
99 evaluate = arg.try
100 onFailure = arg.catch
101 }
102 return core.suspend(() => {
103 try {
104 return core.succeed(internalCall(evaluate))
105 } catch (error) {
106 return core.fail(
107 onFailure
108 ? internalCall(() => onFailure(error))
109 : new core.UnknownException(error, "An unknown error occurred in Effect.try")
110 )
111 }
112 })
113}
114
115/* @internal */
116export const _catch: {

Callers 1

core-effect.tsFile · 0.70

Calls 2

failMethod · 0.65
onFailureFunction · 0.50

Tested by

no test coverage detected