我有一个GET方法连接到xamarin中的web服务。该方法工作正常,但当我的手机没有连接到互联网,应用程序崩溃,我想知道如何避免这种情况?谢谢你的回答:
static public string GET(string url)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
try
{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, System.Text.Encoding.UTF8);
return reader.ReadToEnd();
}
}
catch (WebException ex)
{
WebResponse errorResponse = ex.Response;
using (Stream responseStream = errorResponse.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8"));
String errorText = reader.ReadToEnd();
// log errorText
}
throw;
}
}
答案 0 :(得分:1)
HttpWebRequest
会抛出Exception
。
您已经使用catch块处理了Exception
但是在那里,您还写了throw
再次抛出异常,如果您还没有将它处理到调用方法中,您的应用程序将崩溃
尝试从catch块中删除throw
,或者再次将Exception
处理为调用方法。
像
try
{
var result = Get("myUrl");
}
Catch(Exception ex)
{
//Handle it here too
}