我有一小段代碼調用Web服務客戶端方法。嘗試finally塊中記錄異常的詳細信息
該方法返回一個消息數組作爲out參數。這些消息常常包含發生的任何錯誤的詳細信息。發生錯誤時也會拋出異常。
我想記錄消息,無論是否拋出異常或異常的類型。登錄finally塊可接受的做法?
WebServiceClient client = GetWebServiceClient();
Console.WriteLine("Calling getUpdates...");
ItemStatus[] itemStatuses;
Message[] messages = null;
string outToken;
try
{
outToken = client.getUpdates(inToken, out itemStatuses, out messages);
}
finally
{
LogMessages(messages);
}
這種安排有點不同尋常,但是鑑於它不適合討論,有什麼理由可以反對這樣的日誌?這很自然,很好。 – Jon
在'messages'被分配一個有用的值之前,如果'getUpdates'拋出一個異常(webservice調用超時,...),怎麼辦? –
是的,在某些情況下,消息將爲空或爲空,並檢查這些情況。我只是想確定消息是否包含任何有用的記錄。 – TonE