在java中捕获异常以使应用程序继续执行

时间:2013-03-28 17:58:11

标签: java exception try-catch throwable

这就是我现在所拥有的,这个方法打开了与http url的连接,

public static void setCameraList(String list) {
        URL calculator;
        try {   
    String url = "http://example.com/index.php?cameraList=" +URLEncoder.encode(list, "ISO-8859-1");
            calculator = new URL(url);
            URLConnection calcConnection = calculator.openConnection();
             BufferedReader streamReader = new BufferedReader(new InputStreamReader(calcConnection.getInputStream()));
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        catch (Exception e) {
                    e.printStackTrace();
        }
    }

这项工作很好,但有时当网址无法访问或返回一些错误代码时,此method似乎是崩溃的完整应用。

我很好奇的是,为什么这种方法无法捕获Exception

另外,如果我添加这个:

            catch(Throwable th){

            }

method catch每个可能error/exception与我在其中执行的操作有关吗?

2 个答案:

答案 0 :(得分:4)

我不是Java专家,但您应该考虑异常和错误之间存在差异。 你看了here吗?

你可以发布堆栈跟踪吗? 谢谢

答案 1 :(得分:0)

如果您添加:catch(Throwable th){ }每个异常,您的方法抛出将被捕获。为了正确解决您的问题,您必须注意在您描述的问题发生时抛出的异常类型!