捕获错误但没有错误

时间:2016-01-13 12:30:20

标签: java exception

调试此代码时,将使用参数创建对象。但是在运行设置参数的行之后,代码会跳转到return块内的catch语句,但变量e(异常)中没有错误。

public cartao parseJSON(String jsonParam) {

    cartao jsonCartao = new cartao();

    try {
        JSONObject json= (JSONObject) new JSONTokener(jsonParam).nextValue();
        jsonCartao = new cartao(json.get("NomeCartao").toString(), (double)json.get("SaldoRestante"), json.get("NomePessoa").toString(), (double)json.get("ValorUltimoCredito"), json.get("DataUltimoCredito").toString(), (boolean)json.get("Status"));
        return jsonCartao;
    } catch (Exception e) {
        return jsonCartao;
    }
}

在调试代码时,代码跳转到return jsonCartao;,而不是e.printStackTrace();

http://imgur.com/OhwmMw5

2 个答案:

答案 0 :(得分:0)

不要在catch块中返回jsonCartao,你应该做类似

的事情

System.out.println("Exception thrown :" + e);

这样你就有了分析的东西。

答案 1 :(得分:0)

您的代码可以使用一些改进。像manage.py makemigrations <appname>这样的类名应该以UpperCase开头。您可以在函数结束时返回对象,无需重复代码。在manage.py sqlmigrate <appname> <migrationname>内,你应该分析你的错误。您也可以返回正确的类型,而不是返回cartao并转换为其他内容。

catch

PS:在调试期间,添加断点可以帮助代码的相关部分