相关疑难解决方法(0)

C#捕获堆栈溢出异常

我得到一个递归调用一个抛出堆栈溢出异常的方法.第一个调用被try catch块包围,但没有捕获异常.

堆栈溢出异常是否以特殊方式运行?我可以正确捕获/处理异常吗?

注意:如果相关:

  • 主线程中没有抛出异常

  • 代码抛出异常的对象由Assembly.LoadFrom(...)手动加载.CreateInstance(...)

c# stack-overflow try-catch

110
推荐指数
8
解决办法
9万
查看次数

为什么这个明显的无限递归没有给出编译器警告?

几个月前,我不得不修复一些导致一些问题的代码.代码看起来基本上是这样的:

int badFun() { return badFun(); }

这显然导致了堆栈溢出,即使在我正在使用的高级语言中(SilkTest中的4Test).这段代码无法被视为有益.问题的第一个迹象是脚本完成后看到的警告,但没有编译错误或警告.奇怪的是,我尝试用C++,C#和Python编写具有相同结构的程序,并且所有这些程序都编译/解释时没有语法错误或警告,即使在所有情况下都存在运行时错误.在任何这些情况下我都没有看到任何警告.为什么默认情况下这不是一个可能的问题?

编辑:我尝试在所有三种语言中编写相应的函数,所以我添加了这些函数标签.我对代码这样的代码没有任何警告的整体原因更感兴趣.如有必要,请重新登记.

c# c++ python compiler-construction recursion

8
推荐指数
2
解决办法
3135
查看次数