Handling Specific Errors in an Effect to Continue Execution

hi, how can i continue if there is specific error (in this case if error is of tag ResourceNotFound then instead of interrupting effect, i want to continue as normal
Effect.gen(function* () {
  const processedPayload = yield* pipe(payload, resolveEffect<OnboardTalentUsingResumePayloadProcessed, E, R>())

  const resumeContent = yield* pipe(
    processedPayload,
    resumeParserService.parseStructuredContentFromResume(),
    validateWithVine(vine.compile(
      vine.object({
        text: vine.string().minLength(200),
        links: vine.array(vine.string()),
        emails: vine.array(vine.string().email().toLowerCase()).minLength(1),
      }),
    )),
  )

  yield* pipe(
    userRetrievalStrategy.raw(query => Effect.tryPromise(() => query.select('is_verified').where('email', resumeContent.emails[0]).first())),
    modelRetrievalService.retrieve(),
  ) // <- if user, do some condition and yield error, else continue (if user not found)

  console.log('Parsed resume content:', resumeContent)
})
Was this page helpful?