java - 处理异常和错误(错误是可以的)

标签 java json exception

我有一个 JSON 字符串,我要在其中添加多个变量。这里的问题是,有时并非所有数据都会输入某些内容,因此会返回 NullPointerException。

例如,下面是一些代码:

public static void main(String[] args) throws JSONException  {

    JSONObject obj = new JSONObject();

    obj.put("att1", val1);
    obj.put("att2", val2);
    obj.put("att3", val3);
    obj.put("att4", val4);
    obj.put("att5", val5);
    obj.put("att6", val6);

    System.out.println(obj.toString());

}

这会起作用,因为我抛出了异常。然而,假设有一次我运行它,并且 val4 不存在,我将得到一个 JSONException 并且我的整个代码将停止。我真正想要的是让代码说“好吧,没有任何名为 val4 的内容,所以让我们忽略它并移至下一行代码。

我所知道的方法是使用连续的 if 语句(对于每个属性,我在尝试添加它之前检查它是否为空)或使用多个 try/catch。

我知道忽略错误是一个巨大的禁忌,所以与其说我想知道是否有一种方法可以忽略错误并继续执行下一行代码有吗在输入之前检查每一行的好方法,如果有空值,则在继续之前忽略该行?

(尽管如此,我很乐意忽略这一代码块上的错误)

干杯,TIA, 凯什

最佳答案

看起来您只想在值不为空时添加该对。 JSONObject#putOpt 就是这样做的。

引用:
https://developer.android.com/reference/org/json/JSONObject.html#putOpt(java.lang.String,%20java.lang.Object)

关于java - 处理异常和错误(错误是可以的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16569644/

相关文章:

java - 代理 JAR 已加载但代理无法初始化

java - 错误: reached end of file while parsing

java - 在类之间传递值

javascript - 在 node.js 中调用一个函数

java - 字符串的精确 JSON 映射器

java - 在 Java 中用特殊字符前面的转义符替换特殊字符

java - 尝试运行 Google 语音识别 java 示例时出现 "need path to queries.json"错误

java - 具有多个 catch 语句的无法访问的代码

c++ - 在 C++ 中继承异常

python - __init__ 方法中的异常处理