标题几乎说明了一切,但这里有一些背景:
我有一个 ASP.Net MVC 应用程序,我需要在其中检查文件路径列表是否存在。如果任何路径不存在,则返回错误。
目前,我有一个实现 OnException 事件的基本 Controller 。在这里,处理任何未处理的异常,并向用户返回一个错误页面和异常消息。
对我来说,进行上述检查的最简单方法是编写一个方法来检查每条路径是否存在,如果其中任何一条路径失败,我只需抛出(并记录)一个异常。然后由基本 Controller 处理此异常,并将适当的消息返回给用户。
我的问题是,这样做感觉像是不好的做法。我正在编写一个返回 void 的方法,它的唯一目的是在其中一条路径不存在的极少数情况下抛出异常,在大多数情况下它什么都不做。这是个坏主意吗?
最佳答案
这没有错。
.NET 框架也这样做:例如,CancellationToken
有一个方法 ThrowIfCancellationRequested
它只根据某些条件抛出或不抛出。
另一个例子:Dispatcher
的 VerifyAccess
方法,它检查调用者是否与应该访问控件的线程在同一个线程上,如果不是则抛出。
关于c# - 编写一个除了抛出异常什么都不做的方法是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8736034/