我這樣編碼,它對單元測試很好。Web API 2響應類型比較
[ResponseType(typeof(bool))]
public async Task<IHttpActionResult> Send()
{
try
{
await dosomething();
return Ok(true);
}
catch (Exception ex)
{
return InternalServerError(ex);
}
}
但有人建議嘗試捕捉是多餘的,因爲Web API處理已經和他提出了這樣的代碼:
public async Task<bool> Send()
{
await dosomething();
return true;
}
我只是想知道哪一個是更好的選擇。
像這樣的異步編程,我會建議第一個選項最適合當你需要調試你的工作和捕捉異常。 Web API不會自動處理,我不會同意這一點。嘗試在兩種情況下拋出異常來測試它。 – Derek
我認爲額外的try catch會導致它在性能方面做更多的工作,如果有一個異常它會在這裏被捕獲並且不會傳播到Web API全局級別。我猜Web API已經處理了未捕獲的異常,所以仍然會返回錯誤500。無論如何,我會盡量產生一個例外,並檢查出來。謝謝 –
我只是在談論何時需要調試錯誤。 – Derek