我有一個 Web 服務,它使用這個第 3 方呼叫(geoLock.AdjustSensorsAsync)來創建一個物件。
當它作業時,它作業正常。這里是:
geologicalEvent.LocationName = geologicalEvent.LocationName;
try
{
sensorResult = await geoLock.AdjustSensorsAsync(
geologicalEvent.LocationId,
geologicalEvent.LocationName,
geologicalEvent.LocationStart.ToUniversalTime(),
geologicalEvent.LocationEnd.ToUniversalTime()
);
} catch
{
}
但有時一個壞的LocationStartorLocationEnd被傳遞給它,我會得到一個錯誤,比如:
FaultException: "Unable to record. Invalid time."
現在,它只顯示錯誤的行號,但我想查看有關導致錯誤的物體的更詳細資訊。
我可以添加什么catch來顯示導致它的具體LocationId原因以及“LocationStart”和“LocationEnd”?
謝謝!
uj5u.com熱心網友回復:
geologicalEvent.LocationName = geologicalEvent.LocationName;
try
{
sensorResult = await geoLock.AdjustSensorsAsync(
geologicalEvent.LocationId,
geologicalEvent.LocationName,
geologicalEvent.LocationStart.ToUniversalTime(),
geologicalEvent.LocationEnd.ToUniversalTime()
);
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
}
可能是這樣的嗎?使用'catch (Exception e)' 來做一個控制臺寫行,看看它吐出什么。
參考:Microsoft 檔案 - try-catch
uj5u.com熱心網友回復:
您為特定的例外型別定義 catch 塊,并將其封裝在您自己的例外中并使用所需的資訊。像這樣的東西:
catch (FaultException ex)
{
throw new InvalidOperationException($"{ex.Message} LocationStart: {geologicalEvent.LocationStart} LocationEnd: {geologicalEvent.LocationEnd}", ex);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/437686.html
上一篇:Razor頁面OnGet引數
下一篇:遞回函式中的串列正在重置
