tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: VB.NETへの移行
投稿日: 2004/01/27(Tue) 21:23
投稿者魔界の仮面弁士
> System.StackOverflowException' のハンドルされていない例外が dxcomdb.dll で発生しました。

このエラーは、プログラム中で、「StackOverflowException」に該当する例外が
発生したという事を意味しています。

そして、その例外を Try/Catch 構文などで処理していない(ハンドルしていない)ため、
それがメッセージとして表示された…という事です。


> 何が原因でエラーになっているのでしょうか?
ヘルプで、System.StackOverflowException クラスについて調べてみてください。
そこには、次のような時に発生すると書かれています。

 『保留状態のメソッド呼び出しが多くなりすぎ、
  実行スタックがオーバーフローした場合』

…分かり難いですね。(汗)

言い換えれば、「あるメソッドから別のメソッドを呼ぶ時」に、その呼び出し階層が
極端に多すぎる事を通知するために発生する例外……といった感じです。

例えば、

  Private Sub A()
    B()
  End Sub

  Private Sub B()
    C()
  End Sub

  Private Sub C()
    A()
  End Sub

このような処理があった場合、A→B→C→A→……のように、メソッドの呼び出しが
延々と繰り返される事になり、最終的には StackOverflowException となります。


この例外は、自分自身を呼び出すメソッド(再帰処理)でのコーディングミスや、
オブジェクトの循環参照、あるいはイベントの連鎖発生などで発生する事もありますし、
  hhttp://support.microsoft.com/default.aspx?scid=kb;ja;316319
のような、言語処理上の問題から引き起こされることもあります。

# あまり回答になってないかも。(汗)

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。