2009-04-22 10 views
3

私の.net addinでOutOfMemory Exceptionが発生しています。アドインは、多数の管理対象オブジェクトと管理対象外オブジェクトを使用しています。 この例外をトラップする方法はありますか?.NET(Excelアドイン)でOutOfMemoryExceptionをトラップする方法

更新: 処理する必要があり、定期的に解放されない大量のデータを処理する場合、どのアプリケーションでもOutofMemory例外が発生する可能性があります。 メモリ内のいくつかの構造を解析するメソッドがあるとします。私はそれに300の構造を与え、それぞれをメモリにロードし、解析し、処理を完了する。この操作では、メモリーの使用量はXでした。処理する構造体を3000個与えたら、3000個のメモリーを分析して、メモリー使用量を10倍にします。

は、この問題は、私だけが、なぜ私はそれに見てMSDNの人材を求めていたExcel 2007ではなくExcel 2003で見られている

を更新しました。

+4

OOMをStackOverflowExceptionがようないくつかの他の人と一緒に、通常... –

答えて

3

.NETでOutOfMemoryExceptionは、アプリケーションに要求されたメモリを割り当てることができない場合、ランタイムによってスローされます。したがって、そのような例外を処理するために実行できる実際の作業はほとんどありません。

最初にキャッチするのではなく、キャッチするのではありません。例外を無視しても問題は解決されません。

+2

認められたその悲惨の外に置くことがすぐにある非常に不健康なアプリを、意味:それが解決しない場合は

、これを読んでMSDNの人は、利用可能なGDIオブジェクトがすべて構造(画像)によって使い果たされているので、Excelがメモリ不足になっていることを知っていたからです。プロセスの既定の利用可能なGDIオブジェクト制限は10,000です(レジストリを調整することで65536に増やすことはできますが、推奨されません)。私は今構造体で使用されているGDIオブジェクトの数をチェックしています>>「キャッチするのではなく、起こらないようにしてください」 – A9S6

+0

これは知っておきたいことです。更新していただきありがとうございます。 –

0

OutOfMemoryExceptionが発生した場合、プログラムは終了し、存在しなくなり、それ以上のことはなく、メーカーと出会います。

しかし、真剣に、それはあなたが何もできないので、それが実行されているメモリの一部を回復することはできません。

関連する問題