0
我有一個重複的異常處理的問題...重複異常處理
例如:具有的Webmethods try-catch塊和try塊內有執行代碼。這個try-catch塊對每個webmethod都是一樣的。
有沒有可能讓它更容易,更易於維護,而不需要重複相同的代碼? 我瞭解方面,但有沒有其他解決方案?
代碼lang是C#,但我在一般的解決方案。
感謝您的回答。
我有一個重複的異常處理的問題...重複異常處理
例如:具有的Webmethods try-catch塊和try塊內有執行代碼。這個try-catch塊對每個webmethod都是一樣的。
有沒有可能讓它更容易,更易於維護,而不需要重複相同的代碼? 我瞭解方面,但有沒有其他解決方案?
代碼lang是C#,但我在一般的解決方案。
感謝您的回答。
使用函數式編程原則,您可以傳遞想要以某種方式執行的動作或方法。
在C#中,你可以做一個方法,像這樣的標準化你的代碼:
public void HandleExceptions(Action action)
{
try
{
action();
}
catch (ExceptionA exa)
{
}
catch (ExceptionB exb)
{
}
finally
{
}
}
,並調用它像這樣:
HandleExceptions(() =>
{
//insert code to be handled by try/catch structure
Method1();
});
HandleExceptions(() =>
{
Method2();
});
A *通用的解決方案*異常處理通常是一個非常壞的理念。如果你對每一個「WebMethod」都需要完全相同的'try/catch'塊,那麼我傾向於認爲你的設計在大規模時有問題。你介意給出一個你想重複處理的例子嗎? – Crono