反馈一个多线程HttpKit调用第三方接口的坑

{
  String  payResponse = HttpKit.(url, paramMap, headers);
}(RuntimeException e){
    e.printStackTrace();
}
多线程调用这段代码时,如果url不存在就会抛出一个FileNotFoundException异常导致程序结束多线程任务失败

下面是异常贴图:image.png

评论区

JFinal

2019-03-06 16:16

url 不存在肯定会抛出异常的,比较奇怪的是为什么会抛出 FileNotFoundException 异常,HttpKit 内部是没有使用过这个异常的,是不是你做过什么扩展?

此外,HttpKit 主要是为了 jfinal 内部的 Controller.getRawData() 而开发的,建议使用 OkHttp 这类功能齐备的 http 库

水镜先生

2019-03-06 16:24

@JFinal 并没有做过任何扩展,就是直接把接口url,参数,请求头放进post方法调用,因为我url是错误的地址然后就给我抛出了FileNotFoundException ,我本人也是十分不得解,我先尝试使用OkHttp ,谢谢您的回答。

JFinal

2019-03-06 16:25

@水镜先生 OkHttp 简单、轻量级、功能全面,用起来方便

chcode

2023-04-06 12:49

@JFinal 当http status code 不为200时(例如404) 获取 in = conn.getInputStream();时就会抛出java.io.FileNotFoundException这个异常,此时应该去in = conn.getErrorStream();获取输入流

热门反馈

扫码入社