Workflow Code:
import type * as activities from "./activities";
import * as wf from '@temporalio/workflow';
const { testActivity_1, testActivity_2 } = proxyActivities<typeof activities>({
startToCloseTimeout: "180 minute",
})
export async function workflowName(payload: any): Promise<void> {
try{
await debugging_activity(payload);
await testActivity_2(payload);
}catch(e){
console.log("Error",e)
}
}
async function debugging_activity(payload: any) {
try{
await testActivity_1(payload);
}catch(e){
throw ApplicationFailure.create({ nonRetryable: true, message: 'Failed to perform xyz', type: 'Error' })
}
}
Activites
export async function testActivity_1(payload: any): Promise<any> {
try{
if(xyz){
throw new Error("Error")
}
//perform some opertaion
}catch(error)
throw ApplicationFailure.create({ nonRetryable: true, message: 'Failed to perform xyz', type: 'Error' })
}
export async function testActivity_2(payload: any): Promise<any> {
}
How do i pass on the exception thrown from testActivity_1activity of if condition back to function debugging_activity in workflow and from there to catch block of caller of debugging_activity function?