我正在审查代码库的一部分,我发现异常处理部分非常困惑。我想用更优雅的东西代替它。然后我想,如果我能有一个流畅的界面来帮助我注册一些异常列表的策略,并让 ExceptionHandlingManager 为我完成剩下的工作,这可能不是一个坏主意:
这是一个如何工作的示例:
For<TException>.RegisterPolicy<TPolicy>(a lambda expression that describes the detail);
但我完全迷失了。我走在正确的轨道上吗?当我们想要设计这样一个流畅的界面时,最好的方法是什么?我的意思是,如果流畅的界面是 DSL 的一部分,那么设计流畅的界面就像设计语言一样吗?
我所说的这个模块是一个通用模块,负责所有未处理的异常。它是一个像这样的一百行模块:
if(exp.GetType()==typeof(expType1))
{
if(exp.Message.Include("something went bad"))
// do list of things things like perform logging to database
// and translating/reporting it to user
}
else if (exp.GetType()==typeof(expType2))
{
//do some other list of things...
...
}
最佳答案
我编写了一个简单流畅的异常处理程序。它很容易扩展。您可以在这里查看:http://thetoeb.wordpress.com/2013/12/09/fluent-exceptionhandling/也许可以根据您的目标进行定制。
关于c# - 如何设计流畅的界面(用于异常处理)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9400472/