1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java: 未报告的异常错误org.json.JSONException; 必须对其进行捕获或声明以便抛出

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

时间:2019-12-02 19:07:42

相关推荐

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构建及运行,验证结果: 成功

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

<!-- 替换前依赖 --><dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>0516</version></dependency>

<!-- 替换后依赖 --><dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>0307</version><!-- <version>0516</version>--></dependency>

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

解决方案:

使用maven构建及运行项目, 项目启动速度会变慢。不推荐org.json.JSONObject更新到最新依赖。 极力推荐

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。