程序遇到错误定位一些小技巧

前言:作为一个后端开发在写程序的过程中遇到错误然后一点点查找修改是痛苦的事情,开始会想:”我擦,明明写的是正确的为什么会错啊”,然后被虐了一遍又一遍的时候,在写程序的时候就会想:”求你了别错了啊,别错了啊”,最后有人会一直坚持找错,然后突然有一天会发现自己找到方法,然后发现自己好傻,有的呢会放弃了,然后遇到错误就会敷衍了。还好我是后者,哈哈哈,现在回想起来自己那时候写一个程序然后遇到一个错误,然后一点点盲目的去试,运气好的话,一个多小时就搞好了,运气不好的话,两三个小时甚至半天没头绪,天呢,那时候真的好痛苦啊,实在找不到的时候找个懂得人帮着看一下,然后人家三下两下就找到错误了,崇拜啊!然后人家很屌的走了,问下吧,打开个工具快速敲两下然后说懂了吗?再来一遍懂了吗?额 不好意思了 不懂啊,只有继续自己的笨方法。哈哈哈,不废话了,下面让我来说下现在常用两个常用的定位方式吧!

我用的开发者工具是 myeclipse

第一个方式很简单是利用myecclipse的控制台

别忽略它哦,它很强大的,你运行的程序,所有记录都可以在上面看到的,如果你出错了,它会给你详细的提示信息的,这是最主要的查错手段

其他的也可以通过在不同的地方放个system.out.println()然后确定出错区域,结合输出台再用这个效果很好的

第二种就是javaWeb程序的查错定位手段,利用浏览器的开发者工具,不多讲直接上图:

我用在Tomcat服务器发布一个Ajax读取xml文件里面的信息

代码如下:

praseXML.html:

浏览器端输出XML文件

var xmlHttp;

var requestType="";

function createXMLHttpRequest(){

if(window.ActiveXObject){

xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

}else if(window.XMLHttpRequest){

xmlHttp=new XMLHttpRequest();

}

}

function startRequest(requestedList){

requestType=requestedList;

createXMLHttpRequest();

xmlHttp.onreadystatechange=handleStateChange;

xmlHttp.open("GET","us.xml",true);

xmlHttp.send(null);

}

function handleStateChange(){

if(xmlHttp.readyState==4){

if(xmlHttp.status==200){

if(requestType=="north"){

listNorthStates();

}else if(requestType=="all"){

listAllStates();

}

}

}

}

function listNorthStates(){

var xmlDoc=xmlHttp.responseXML;

var northNode=xmlDoc.getElementsByTagName("north")[0];

var out ="Northern States";

var northStates=northNode.getElementsByTagName("state");

outputList("Northern States",northStates);

}

function listAllStates(){

var xmlDoc=xmlHttp.responseXML;

var allStates=xmlDoc.getElementsByTagName("state");

outputList("All States in Document",allStates);

}

function outputList(title,states){

var out=title;

var currentState=null;

for(var i=0;i

currentState=states[i];

out=out+"\n"+currentState.childNodes[0].nodeValue;

}

alert(out);

}

Process XML Document of U.S States

us.xml

Minnesota

Iowa

North Dakata

Texas

Oklahoma

Louisiana

Now York

North Carolina

Massachussetts

California

Oregon

Nevada

打开效果

然后我改下HTML页面的信息

在handleStateChange函数里面随便改了下,然后保存运行下,效果没了,然后怎么找错呢?F12打开开发者工具或者工具点击再点击开发者工具打开

点击红叉  然后可以看到具体的错误提示信息,可以具体到那个页面哪一行错误

图有点模糊,还是可以看到哈哈哈,截图时候没注意

java怎么定位error_程序遇到错误定位一些小技巧相关推荐

  1. java 有趣注释_Java8 中有趣酷炫的小技巧

    https://mp.weixin.qq.com/s/ZlbcfT-fUoVEctSqBeZWcg Java8 中有趣酷炫的小技巧 执行注释 大多数开发人员认为 注释 永远不会在程序中执行,并用于帮助 ...

  2. 程序员每日一个开除小技巧~~

    俗话说的好,代码写的少,离职少不了.最近畅游互联网,发现一些离职小技巧,读后,内心被深深的打动了. 但是细细的品过之后,发现对我们程序员不太适用,例如: 领导夹菜你转桌,我们程序员一般不和领导在一桌: ...

  3. java二级程序题两个角度_两个角度图_【SCME大一】使用JAVA语言深入理解程序逻辑答案_学小易找答案...

    [填空题]<蝶恋花 ·伫倚危楼风细细 >的作者( ). [简答题]简要概述问卷调查的整体设计? [填空题]父母在,( ),游必有方. [填空题]白居易与刘禹锡并称"( )&quo ...

  4. 微信小程序服务器错误500,微信小程序配置参数缺少,报错500

    开发作者可能在fecshop\appserver\config\fecshop_local_modules\Wx.php文件配置了['home4TipImg'],但是现在默认的最新版本暂时是没有配置的 ...

  5. 【转载】老鸟程序员总结的这些小技巧

    1.重构是程序员的主力技能. 是的,我之前经常也提到一点,就是好多设计模式不是提前就设计出来的,而是重构出来的.很多情况是我们在做设计的时候考虑不到的,是写代码时也考虑不到的,只有在项目上线后,客户使 ...

  6. Windows下程序打包发布时的小技巧

    一.背景 Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去.这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要.很久以前写过一篇关于Qt程序安装包制作 ...

  7. 全网最全程序员效率工具及小技巧

    命令行 CMD秒进指定目录 效率低的操作 win+r,输入cmd,然后跳到指定目录 在这里插入图片描述 骚操作 文件夹地址栏输入cmd,弹出cmd窗口,同时进入指定目录 在这里插入图片描述 在这里插入 ...

  8. 不吹牛,全网最全程序员效率工具及小技巧

    前言 楼主还没有写完,每天下班完持续更新,有好用的工具欢迎在下方留言 建议收藏 建议收藏 建议收藏 命令行 CMD秒进指定目录 效率低的操作 win+r,输入cmd,然后跳到指定目录 骚操作 文件夹地 ...

  9. 提升matlab效率,科学网—写Matlab程序,提高运算速度的小技巧 - 吴景鹏的博文

    同样的算法和思路,不同的人写出来的程序,执行效率可能有成倍的差别.主要原因就是写代码的习惯,这里介绍点个人的小体会. 1. 向量化,少用for.很多人写Matlab代码,会沿用C语言的思路,经常用fo ...

最新文章

  1. JS callee 的例子
  2. adb最新版本是多少_新版本更新有问题?别慌,来这里找答案!
  3. 【bzoj 4390】 [Usaco2015 dec]Max Flow(树上差分)
  4. Java对象的两大特征_科学网—Java 面向对象的四个特征 - 李玖栋的博文
  5. js点击复制兼容Firefox
  6. 软件项目开发过程中应编写的十三类文档
  7. 我孩子的毛毯教会了我关于技术和古希腊人的知识
  8. 【笔记】马克思主义哲学(二)-- 唯物论
  9. 论文理解【Offline RL】 —— 【COIL】Curriculum Offline Imitating Learning
  10. 市场营销策划书大纲怎么写
  11. 2020-12-19 nn.CrossEntropyLoss()
  12. uniapp运行编译时报错Module build failed,Error: Unbalanced delimiter found in string
  13. NPDP知识推送-第一章新产品开发战略(2)
  14. CodeForces 1463 C. Busy Robot 模拟
  15. ORACLE数据库查询锁表语句sql脚本,以及删除锁信息脚本(数据库开发ETL、DBA必备)
  16. ios13.3 降级13.2.3绕id
  17. The 10th Zhejiang Provincial Collegiate Programming Contest 蒻菜的水题题解。
  18. 20220728使用电脑上的蓝牙和汇承科技的蓝牙模块HC-05配对蓝牙串口传输
  19. 将台式机组成云服务器_四种旧PC台式电脑改造桌面云虚拟化的方案介绍
  20. 工程伦理(2021春)课后习题全部答案

热门文章

  1. Android实现仿制手机卫士的一键加速的百分框
  2. 计算某一天是星期几(C语言,可运行)
  3. Django中models模型(操作数据库)
  4. 如何利用自己的数据制作社交地图?只显示可视区域内的标注
  5. dvi和hdmi 知乎_HDMI和DVI有什么区别? 哪个更好?
  6. VS 2010 测试功能学习(七) - RnP与Coded UI自动化测试
  7. 高中物理应用计算机教学心得,高中物理教学心得
  8. 【JavaScript】JavaScript模拟实现面向对象一张图帮助你深刻理解原型链和原型对象
  9. oracle operation_type,案例:Oracle报错performing DML/DDL operation over object in bin解决办法
  10. ROS订阅/cmd_vel话题,转化成移动机器人左右轮的转速