替换类中的所有异常

时间:2015-09-01 17:06:55

标签: c# exception c#-4.0 exception-handling objectdisposedexception

C#中是否有办法用[{1}}替换ObjectDisposedException实例引发的所有NetworkStresm

这样做的目的是我想读取和写入流,而其他线程可以处理它。这很好 - 当流被处理时抛出异常并处理它并且它是程序正常流程的一部分(因为客户端可能只是断开连接)。与其他MyException其他真正错误的对象相反,我的代码中存在错误。

因此,如果我可以将流投放ObjectDisposedException而不是常规MyException,我可以区别对待它。

完成此目的的任何其他建议也都很好。

谢谢!

2 个答案:

答案 0 :(得分:2)

我认为如果您希望这种情况发生,您将不得不抓住ObjectDisposedException并重新抛出MyException

一个更好的选择(如果你控制你正在调用的代码)是让另一边的代码检查它是否已经处理掉而不是抛出ObjectDisposedException,而只是返回而不做任何事情。

答案 1 :(得分:0)

我不知道有任何方法可以做到这一点,但是你可以通过使用ObjectName的{​​{1}}属性来处理类似的行为来处理ObjectDisposedException抛出的所有异常。 {1}}并重新抛出其余部分。