You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在即时窗口将函数调用的异常存储到伪变量?

在即时窗口捕获异常并存储到伪变量

针对你遇到的即时窗口无法用常规try/catch语句捕获异常的问题,有两种可行的方法:

方法1:使用ExceptionDispatchInfo捕获

在即时窗口中执行以下代码(即时窗口支持分号分隔的简单语句):

System.Runtime.ExceptionServices.ExceptionDispatchInfo edi = null;
try { Throw(); } catch (Exception ex) { edi = System.Runtime.ExceptionServices.ExceptionDispatchInfo.Capture(ex); }
var capturedEx = edi.SourceException;

执行后,capturedEx变量就存储了Throw()抛出的异常对象。

方法2:用立即执行的lambda表达式

如果之前lambda尝试失败,可能是语法问题,试试这种强转委托的写法:

var capturedEx = ((Func<Exception>)(() => { try { Throw(); } catch (Exception e) { return e; } }))();

这段代码把包含try/catch的lambda转换为Func<Exception>委托并立即执行,直接将捕获到的异常赋值给capturedEx。

注意:即时窗口对复杂语句的支持有限,但表达式形式的代码(包括强转后的lambda执行)通常可以正常运行。

内容的提问来源于stack exchange,提问作者Wootiae

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 05:44:52