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
ResourceNotFoundResourceNotFound then instead of interrupting effect, i want to continue as normalEffect.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)
})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)
})