Xamarin在没有连接时让Webservices崩溃

时间:2018-06-02 13:58:50

标签: web-services xamarin.forms

我有一个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;
        }
    }

1 个答案:

答案 0 :(得分:1)

如果没有互联网连接,

HttpWebRequest会抛出Exception

您已经使用catch块处理了Exception但是在那里,您还写了throw再次抛出异常,如果您还没有将它处理到调用方法中,您的应用程序将崩溃

尝试从catch块中删除throw,或者再次将Exception处理为调用方法。 像

try
{
    var result = Get("myUrl");
}
Catch(Exception ex)
{
    //Handle it here too
}