recvfrom失败:ECONNRESET(由对等方重置连接)无法访问Internet时

时间:2014-02-07 20:20:40

标签: java android

我正在开发一款仅适用于Android的应用程序,形成冰淇淋三明治到果冻豆安卓版。

我有一个功能可以检测是否存在互联网连接,效果很好。

但是当设备连接但没有互联网访问权限时,它会崩溃并向我发送跟随激励

HttpRequest$HttpRequestException: java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)

例如,当设备上有3G数据但没有上网时,因为它没有任何数据余额。

我正在使用http-request library向服务器发出请求。

我也尝试捕获异常来处理错误并引起用户反馈,但Eclipse发送错误

this exception is never thrown for the try statement body

这是我的第一次尝试

    if(LaConstante.isConected(ctx)){
        try{
            new ObtenerTiposReporte().execute(b.getString("tipo"));
        }catch(IOException e){
            if (e.getMessage().indexOf("Connection reset by peer") > 0);
        }
    }else{
        ProgressBar progressBarListaReportes = (ProgressBar) findViewById(R.id.progressBarListaReportes);
        progressBarListaReportes.setVisibility(View.INVISIBLE);
        Toast.makeText(ctx, "Lo sentimos, se requiere de una conexión a Internet para reportar", Toast.LENGTH_LONG).show();
        Intent i2 = new Intent(ctx, MainActivity.class);
        startActivity(i2);
    }

我也尝试在发出请求时直接捕获异常

        String jsonString = "";

        try{
            jsonString = HttpRequest.post(LaConstante.getInstance().TIPOS_DE_REPORTE+params[0]).form(data).body();
        }catch(IOException e){
            if (e.getMessage().indexOf("Connection reset by peer") > 0);
        }

我不知道如何处理错误,以便向用户提供最新信息。

0 个答案:

没有答案