我的应用程序具有基于角色的安全性。当用户尝试执行某些操作,并且他所在的角色没有该权限时,我们会抛出异常。
void DeleteFile(String fileName) {
if(!_role.canDeleteFile()) {
throw new Exception();
}
//delete it
}
现在,我正在重构此代码,并在基类Exception
类丑陋的情况下找到用法。我应该使用什么类的实例?或者我应该继承一个吗?
我在框架中搜索并发现了两个。但它们实际上都不合适。 SecurityException
似乎是BCL本身的一部分。 UnauthorizedAccessException
位于IO
命名空间下。在这种情况下哪个例外最合适的(继承)?
答案 0 :(得分:2)
由于UnauthorizedAccessException
位于IO
名称空间下,因此通常用于文件访问等。
SecurityException
是代码访问安全性中的基本异常,可能是我的首选。