我需要趕上「遠程服務器返回錯誤:(401)未經授權。」執行其他操作的例外情況。
問題是,我不知道如何識別它。
現在,我使用如何在C中捕獲特定的異常#
catch (Exception ex)
{
}
但例外「遠程服務器返回錯誤:(401)未經授權」出現在「InnerException」和「消息」裏面,所以沒有狀態碼或任何東西。
我該如何追蹤這個特定的異常?
如果GoogleDrive SDK相關,我正在使用它。
嘗試使用此:
catch (GoogleApiRequestException e) {
if (e.HttpStatusCode == HttpStatusCode.Unauthorized) {
// Credentials have been revoked.
// TODO: Redirect the user to the authorization URL.
throw new NotImplementedException();
}
}
但e.HttpStatusCode爲0,所以它不承認它。
我想我可以使用
if(ex.Message.Contains("401"))
但它是非常糟糕的
爲什麼檢查消息字符串真的很糟糕,您可以添加「遠程服務器返回錯誤」。請記住,並不總是一種好的,完美的或標準的方式去做某件事。順便說一句,你現在可以使用它,併爲未來尋求更好的解決方案。 – ehsan88
什麼是InnerException類型?如果它是特定類型的,那麼你可以在catch塊中使用它。 – bobbyalex