首页 - 关注 > 我的身体有bug(作为程序员,你有过一个简单bug查询了很久才解决的经历吗)

我的身体有bug(作为程序员,你有过一个简单bug查询了很久才解决的经历吗)

发布于:2024-03-12 17:34:05 来源:互联网

程序员总会遇到一些稀奇古怪的问题,或由于编码错误,或由于对见识浅薄,一些问题解决之后,或者说说透了,就那么简单,但是在解决的过程中,总是会有一些弯路。敲了这么多年的代码,也陆续发现了一些线上问题,至今对两个 bug 的背景和解决过程仍记忆犹新,我就简单的分享一下,有类似体验的可以多深入了解一下,如果感觉不知所言的,跳过即可,娱乐为主。

第一个要分享的bug,是Java语言通过 HTTP 客户端 RestTemplate 调用弱语言 PHP封装的 HTTP 接口引起的,对方将配置数据,处理成 JSON 提供给我,其数据结构如下:

[{

"operateWord" "测试1",

"url"//www.baidu.com"

}, {

"operateWord" "测试2",

"url"//www.baidu.com"

}]

Java 这边通过对象的列表来接收 java.util.List<Banner>

@Setter

@Getter

public class Banner{

private String operateWord;

private String title;

private String url;

}

自测验证,测试通过后上线,偶尔会出现可用率降低的情况,其异常日志的主要信息如下

java.lang.ClassCastException "测试2",

"title" "https//p1.toutiaoimg.com/large/pgc-image/e5706ce4fc064c68bb7a470ef07e8233" web_uri="pgc-image/e5706ce4fc064c68bb7a470ef07e8233" img_width="500" img_height="308" fold="0" onerror="javascript//xxx" resulted in 400 (Bad Request); invoking error handler

Exception in thread "main" org.springframework.web.client.HttpClientErrorException88)

at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java//p1.toutiaoimg.com/large/pgc-image/e5ebb088f1c64f9d8fdc421d7e3ce4f5" web_uri="pgc-image/e5ebb088f1c64f9d8fdc421d7e3ce4f5" img_width="512" img_height="294" fold="0" onerror="javascript:errorimg.call(this);" >

这两个bug,都是线上正常运行一段时间后,才出现的,这种往往更恼火,在测试阶段很隐蔽,线上出现之后,也不是很容易排查。编写代码时,还是需要用心去写,尽量避免这些bug呢。

作者:夕阳雨晴,欢迎关注我的头条号:偶尔美文,主流Java,为你讲述不一样的码农生活。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。

相关文章