From 7c03bfd9ac8360c15bc60ab6bb6709f745f82124 Mon Sep 17 00:00:00 2001 From: Ivan FB Date: Fri, 24 Apr 2026 17:05:39 +0200 Subject: [PATCH] better possible exception handling in processReq --- ffi/ffi_context.nim | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ffi/ffi_context.nim b/ffi/ffi_context.nim index 7bb4ae2..f826484 100644 --- a/ffi/ffi_context.nim +++ b/ffi/ffi_context.nim @@ -151,7 +151,14 @@ proc processRequest[T]( nilProcess(request[].reqId) else: ctx[].registeredRequests[][reqId](request[].reqContent, ctx) - handleRes(await retFut, request) + + let res = + try: + await retFut + except CatchableError as exc: + Result[string, string].err("Exception in processRequest for " & reqId & ": " & exc.msg) + + handleRes(res, request) proc ffiThreadBody[T](ctx: ptr FFIContext[T]) {.thread.} = ## FFI thread body that attends library user API requests