據我所知,這是不好的編程習慣和冗餘編碼,但我很好奇。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
這就像要求如何吹滅自己的大腦而不死。 (答案:錯過。) –