我应该抛出哪个异常(尝试保存只读文件)

时间:2013-10-18 10:20:23

标签: c# exception

我可以使用只读参数实例化某个类(您可以从指定的文件中读取)。

此外,我还有一个“保存”方法,可以保存对当前打开文件的所有更改。当some1将以只读模式调用Save时,它应抛出异常。

我应该使用什么例外? (我想到了InvalidOperationException)。

2 个答案:

答案 0 :(得分:4)

InvalidOperationException确实听起来很合适:

  

方法调用无效时抛出的异常   对象的当前状态。

由于对象的状态是“只读”,因此异常符合这种情况。

请注意,NotSupportedException可能也不错:在BCL中,尝试write to a read-only streamadd to a read-only collection都会产生NotSupportedException

  

不支持调用方法时抛出的异常,   或者当试图读取,寻找或写入流时   不支持调用的功能。

答案 1 :(得分:2)

InvalidOperationException是你可以抛出的异常!!

这是链接

http://msdn.microsoft.com/en-us/library/system.invalidoperationexception.aspx