none
類型 'System.StackOverflowException' 的未處理例外狀況發生於 Coding02.exe->這是什麼? RRS feed

  • 問題

  • 執行中有一個訊息方塊:類型 'System.StackOverflowException' 的未處理例外狀況發生於 Coding02.exe 。

    我完全不懂錯出再什麼地方。突然就~~

    2006年8月20日 下午 02:00

解答

  • StackOverflowException 最有可能發生的原因,就是程式碼中有地方落入了無限迴圈之中 .

    .NET CLR 會自動偵測,如果有程式發生這種情況時,會自動引發 StackOverflowException.

    2006年8月20日 下午 02:15
    版主
  • .Net Framework 2.0中就無法使用try - catch 的方式去處理這個exception, 因此建議使用counter或判斷status來終止loop
    2006年8月20日 下午 03:13

所有回覆

  • StackOverflowException 最有可能發生的原因,就是程式碼中有地方落入了無限迴圈之中 .

    .NET CLR 會自動偵測,如果有程式發生這種情況時,會自動引發 StackOverflowException.

    2006年8月20日 下午 02:15
    版主
  • .Net Framework 2.0中就無法使用try - catch 的方式去處理這個exception, 因此建議使用counter或判斷status來終止loop
    2006年8月20日 下午 03:13
  • 也有可能是無限遞迴的問題,因為遞迴呼叫時,會把目前變數推入 stack ...

    若是遞迴深度太深,可能要把部分變數改用公用變數來減少遞迴變數,並且遞迴內不要使用 Byval 改用傳址呼叫。

    2006年8月20日 下午 05:27
    版主
  • 那是否下面這個問題的原因也些同嗎? - 類型 'System.StackOverflowException' 的未處理例外狀況發生於 mscorlib.dll

    可是,如果是這樣的話,那真的就很怪哩,因為我只是執行一個關閉Form的命令耶。

    2007年1月3日 上午 03:34