我有一个递归调用一个引发堆栈溢出异常的方法。第一次调用被try catch块包围,但未捕获异常。
堆栈溢出异常是否以特殊方式表现?我可以正确捕获/处理异常吗?
不确定是否相关,但还有其他信息:
在主线程中没有抛出异常
代码引发异常的对象由Assembly.LoadFrom(…)。CreateInstance(…)手动加载
从2.0版本开始,只能在以下情况下捕获StackOverflow异常。
用户代码引发了stackoverflow异常,而不是由于实际的堆栈溢出情况(参考)
“托管环境”,如“我的代码托管CLR,并且我配置CLR的选项”中那样,而不是“我的代码在共享托管上运行”中