最近我使用了Youtube API,我在获取数据、搜索歌曲名称等方面遇到了同样的问题,我所做的就是把
response = await httpClient.PostAsync(proxySettingsConfiguration.RequestUri, encodedContent);
在try/catch中,应该是这样的
try
{
response = await httpClient.PostAsync(proxySettingsConfiguration.RequestUri, encodedContent);
}
catch (Exception ex)
{//In my case I was looking at this error
if (ex.GetType().ToString() == "Google.Apis.Auth.OAuth2.Responses.TokenResponseException")
{
MessageBox.Show("Failed to login", "Error on login",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
MessageBox.Show("Failed to login", "Error on login",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
如果您打印出异常(messagebox,debug),您将看到它是一种错误类型,或者您可以搜索有关您正在使用的API的更多信息,并查看它可以抛出什么错误类型,找到一个好的,您可以添加多个具有不同消息的错误类型,这样您的程序就不会在出现某种错误时崩溃。希望能有点帮助。