2014-06-18 192 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引发错误,指出您的磁盘空间不足,那不仅仅是一个警告。一些代码试图写入磁盘并失败。

您需要找出导致使用太多磁盘空间的原因。要么优化代码使用更少的内存,如果无法获取足够的磁盘空间,或者添加更多硬件,请适当处理这种情况。