2014-06-18 224 views
-1

我有一個ASP.NET應用程序位於服務器上,它不時會獲取磁盤空間警告。 顯然,最簡單的解決方案是如果管理I/O活動不起作用,則獲得更多的磁盤空間。但我不想編輯註冊表來更改觸發警告的值。但問題是我的.NET應用程序拋出磁盤空間警告消息。有沒有辦法告訴.Net應用程序忽略此錯誤並繼續?磁盤空間錯誤

+0

這是一個例外嗎?或者.Net應用程序中的錯誤是什麼意思? –

回答

2

每當你想忽略錯誤,你可以在try塊包裹通話和吞嚥這樣的錯誤:

try 
{ 
    DoSomethingThatCausesAnError(); 
} 
catch 
{ 
    //Swallow the exception 
} 

如果可能的話,你應該只吞下具體錯誤:

try 
{ 
    DoSomethingThatCausesAnError(); 
} 
catch(System.IO.IOException exception) 
{ 
    //Swallow the exception 
} 

不幸的是,只捕捉「驅動器滿」錯誤有點棘手。您需要訪問受保護的HResult成員。有關如何操作的提示,請點擊here

P.S.做任何這些可能是一個非常糟糕的主意。你真的應該弄清楚爲什麼你的系統報告磁盤完整的錯誤並處理根本原因。

+0

正如你注意到的那樣,只是吞下異常是非常糟糕的做法。它隱藏了潛在的問題,並可能導致用戶認爲代碼已經運行,但實際上並未運行。 –

+0

我同意約翰和埃裏克,我們需要增加更多的磁盤空間。但是,我想繞過錯誤。 – user1186256

3

如果.NET引發錯誤,指出您的磁盤空間不足,那不僅僅是一個警告。一些代碼試圖寫入磁盤並失敗。

您需要找出導致使用太多磁盤空間的原因。要麼優化代碼使用更少的內存,如果無法獲取足夠的磁盤空間,或者添加更多硬件,請適當處理這種情況。