我遍历Try ... Catch块中的一个字节数组。像这样:
Try
For Each curByte In bytes
'Do something with bytes.
Next
Return encodedBytes
Catch e As Exception
'handle exception
End Try
随机地,我的程序将在上面的代码块中的Next语句中以未处理的异常崩溃。例外是mscorlib.dll中的StackOverflow"无法评估表达式"。
为什么我的异常处理没有处理异常?我不确定我知道从哪里开始尝试解决此错误。
答案 0 :(得分:1)
无法捕获StackOverflowException
,因为它是.NET通常无法从中恢复的根本性错误。这就是为什么你没有发现异常的原因。
但是,它的原因通常很容易确定:如果你在发生异常时检查你的调试器并查看callstack,你通常会看到一个递归调用(也就是说,调用自身的同一个方法)嵌套时尚)。这是导致您的异常的原因,您需要修复调用递归调用的任何逻辑来解决问题。