タイトル : 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 のような、言語処理上の問題から引き起こされることもあります。 # あまり回答になってないかも。(汗) |