栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java: 未报告的异常错误org.json.JSONException; 必须对其进行捕获或声明以便抛出

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java: 未报告的异常错误org.json.JSONException; 必须对其进行捕获或声明以便抛出

问题: 在springboot项目使用IDE启动的时候,报的 java: 未报告的异常错误org.json.JSONException;
必须对其进行捕获或声明以便抛出

思考: 出现此问题的代码如下

import org.json.JSONObject;

return new JSONObject(response);

查看源码:

public JSONObject(String source) throws JSONException {
        this(new JSONTokener(source));
} 

根据上面的源码我们发现JSONObject构造方法抛出了异常,先不着急咱们接着往下看。。。

package org.json;

public class JSONException extends RuntimeException {
    private static final long serialVersionUID = 0L;

    public JSONException(String message) {
        super(message);
    }

    public JSONException(String message, Throwable cause) {
        super(message, cause);
    }

    public JSONException(Throwable cause) {
        super(cause.getMessage(), cause);
    }
}

由上面源码我们发现JSonException 继承了RuntimeException ,因此我们不需要在new JSonObject(response)时抛出异常或者捕获异常。那会是什么原因呢???

解决过程:
1. 验证是否为jdk版本的问题, 验证结果: 失败
2. 不使用IDE启动,在IDE->maven中设置使用maven构建及运行,验证结果: 成功

  1. org.json.JSONObject使用最新maven依赖 验证结果: 成功
		
		
            org.json
            json
            20170516
        
		
		
            org.json
            json
            20210307

        

pom.xml替换依赖后,可以成功构建。

解决方案:
  1. 使用maven构建及运行项目, 项目启动速度会变慢。不推荐
  2. org.json.JSONObject更新到最新依赖。 极力推荐
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336657.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号