我有以下代碼:創建2個例外在finally塊
finally
{
if (!isDnsSet)
{
var exception = new Exception(<DNS-INFORMATION>);
localLog.TraceException(exception);
throw exception;
}
}
既然這樣,這個異常拋出太多的信息是不是特別需要讓他們看到用戶。我希望能夠使用我的localLog
類登錄exception
,但也會用更簡潔的消息拋出另一個異常。
我正在考慮用縮短的信息創建另一個異常,並且仍然使用我的類記錄原始的,更詳細的信息。
是否有這樣做的更優雅的方式或我只想做這樣的事情:
var shortException = new Exception(<short and sweet message>);
var longException = new Exception(<not so short and sweet but still useful for other devs>);
localLog.TraceException(longException);
throw shortException;
如果你想記錄一個異常並拋出另一個異常,這可能是你可以得到的簡潔。我不得不說我在拋出異常時編輯異常的想法並不瘋狂 - 似乎應該在堆棧中做更高的決定,或診斷問題可能很困難。 –
只有我想到從最後拋出異常的想法 - 不抓塊有點奇怪嗎? – Vladimir
這是一個帶'try-> catch-> finally'的完整方法。我剛剛決定放棄這部分 –