共用方式為


疑難排解例外狀況:System.OutOfMemoryException

嘗試配置記憶體失敗時,就會擲回 OutOfMemoryException 例外狀況。

相關秘訣

  • 如果您正在建立陣列,請確定其大小是正確的。
    如需詳細資訊,Visual Basic 使用者請參閱 Visual Basic 中的陣列

    如需詳細資訊,C# 使用者請參閱 陣列 (C# 程式設計手冊)

  • 請確定您有足夠的記憶體做為內部用途及新增 Managed 物件之用。
    如果您正以 .NET Compact Framework 方式進行程式設計,而內部用途或新增 Managed 物件所需的記憶體不足時,Common Language Runtime (CLR) 就會擲回這個例外狀況。 若要避免這個例外狀況,進行程式設計時請避免設計使用 64 KB 或更多記憶體的大型方法。

備註

使用過多的 Managed 記憶體,通常是因為:

  • 將大量資料集讀入記憶體中。

  • 建立過多的快取項目。

  • 上傳或下載大型檔案。

  • 剖析檔案時,使用太多規則運算式 (Regular Expression) 或字串。

  • 檢視狀態過多。

  • 工作階段狀態中有過多資料,或工作階段過多。

在 COM 物件上叫用方法,而且這個 COM 物件會傳回包含安全陣列 (非固定大小的陣列) 的使用者定義型別時,便可能會擲回這個例外狀況,其中的訊息為:「存放裝置空間不足,無法完成此操作」。 這是因為 .NET Framework 無法封送處理具有安全陣列型別的結構欄位。

請參閱

工作

HOW TO:使用例外狀況助理

參考

OutOfMemoryException