据我所知,这是不好的编程习惯和冗余编码,但我很好奇。Function Calling Itself,Can not Dodge StackOverflow Error
我只是在一个while循环中计算一个最多9999999的数字。 Add()
函数只是增加该数字并将其打印出来。
在Add()
函数内我称之为Add()
函数。
我的程序在我得到StackOverflow异常之前成功打印出12000个数字。
所以我的问题=有没有办法忽略这个错误,并继续计数?
我已经试过On Error Resume
,Try/Catch
和throw
我的代码如下。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
While number1 < 9999999
Try
add()
Catch ex As StackOverflowException
''Do Stuff here
End Try
End While
End Sub
Function add()
number1 = number1 + 1
Trace.WriteLine(number1) ''Error is throw here
add()
Return number1
End Function
你为什么要从add()调用'add()'?让'While'循环来照顾它。 – mellamokb
@mellamokb我知道它的糟糕的编程习惯,我很好奇如果这样一个方法来处理这个异常而不会崩溃 – sealz
这就像要求如何吹灭自己的大脑而不死。 (答案:错过。) –