@@ -141,12 +141,8 @@ def _new_chat_completion_common(f, *args, **kwargs):
141141 origin = OpenAIIntegration .origin ,
142142 )
143143 span .__enter__ ()
144- try :
145- res = yield f , args , kwargs
146- except Exception as e :
147- _capture_exception (e )
148- span .__exit__ (None , None , None )
149- raise e from None
144+
145+ res = yield f , args , kwargs
150146
151147 with capture_internal_exceptions ():
152148 if should_send_default_pii () and integration .include_prompts :
@@ -223,7 +219,12 @@ def _execute_sync(f, *args, **kwargs):
223219 return e .value
224220
225221 try :
226- result = f (* args , ** kwargs )
222+ try :
223+ result = f (* args , ** kwargs )
224+ except Exception as e :
225+ _capture_exception (e )
226+ raise e from None
227+
227228 return gen .send (result )
228229 except StopIteration as e :
229230 return e .value
@@ -253,7 +254,12 @@ async def _execute_async(f, *args, **kwargs):
253254 return await e .value
254255
255256 try :
256- result = await f (* args , ** kwargs )
257+ try :
258+ result = await f (* args , ** kwargs )
259+ except Exception as e :
260+ _capture_exception (e )
261+ raise e from None
262+
257263 return gen .send (result )
258264 except StopIteration as e :
259265 return e .value
@@ -334,7 +340,12 @@ def _execute_sync(f, *args, **kwargs):
334340 return e .value
335341
336342 try :
337- result = f (* args , ** kwargs )
343+ try :
344+ result = f (* args , ** kwargs )
345+ except Exception as e :
346+ _capture_exception (e )
347+ raise e from None
348+
338349 return gen .send (result )
339350 except StopIteration as e :
340351 return e .value
@@ -363,7 +374,12 @@ async def _execute_async(f, *args, **kwargs):
363374 return await e .value
364375
365376 try :
366- result = await f (* args , ** kwargs )
377+ try :
378+ result = await f (* args , ** kwargs )
379+ except Exception as e :
380+ _capture_exception (e )
381+ raise e from None
382+
367383 return gen .send (result )
368384 except StopIteration as e :
369385 return e .value
0 commit comments