fut*_*110 3 c# design-patterns
我实际上正在编写一个可供多个类使用的库类.我简化了这个例子,以便说明一点.假设我有三个类:A,B和C:
public class B
{
public static string B_Method()
{
string bstr = String.Empty;
try
{
//Do Something
}
catch
{
//Do Something
}
return bstr;
}
Run Code Online (Sandbox Code Playgroud)
B是我正在写的库类.现在可以说其他两个类说A和C:
public class A
{
public void A_Method()
{
string astr = B.B_Method();
}
}
public class C
{
public void C_Method()
{
string cstr = B.B_Method();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是关于异常处理.我希望两个类A和B的相应方法以它们自己的不同方式处理B_Method中发生的异常.
我寻找框架设计模式,但觉得没用.
我通常遵循的方法是:
我将放置"全部捕获"块的唯一地方是UI代码中的入口点(例如按钮点击的事件处理程序等),因为没有捕获异常可能会使该过程失效.
这也意味着exception子句应该捕获您可以处理的特定异常.
我有时看到的一种方法是捕获异常,将其包装在一个新的异常类型中并抛出它.虽然这为您提供了一些可跟踪性,但我也觉得它在调用代码时删除了异常处理中的一些选项,例如为不同的场景设置了特定的catch子句.在这些情况下,您需要让if-clauses检查内部异常,而在我眼中则不太可读.
| 归档时间: |
|
| 查看次数: |
2198 次 |
| 最近记录: |