程序遇到錯誤定位一些小技巧
前言:做爲一個後端開發在寫程序的過程當中遇到錯誤而後一點點查找修改是痛苦的事情,開始會想:」我擦,明明寫的是正確的爲何會錯啊」,而後被虐了一遍又一遍的時候,在寫程序的時候就會想:」求你了別錯了啊,別錯了啊」,最後有人會一直堅持找錯,而後忽然有一天會發現本身找到方法,而後發現本身好傻,有的呢會放棄了,而後遇到錯誤就會敷衍了。還好我是後者,哈哈哈,如今回想起來本身那時候寫一個程序而後遇到一個錯誤,而後一點點盲目的去試,運氣好的話,一個多小時就搞好了,運氣很差的話,兩三個小時甚至半天沒頭緒,天呢,那時候真的好痛苦啊,實在找不到的時候找個懂得人幫着看一下,而後人家三下兩下就找到錯誤了,崇拜啊!而後人家很屌的走了,問下吧,打開個工具快速敲兩下而後說懂了嗎?再來一遍懂了嗎?額 很差意思了 不懂啊,只有繼續本身的笨方法。哈哈哈,不廢話了,下面讓我來講下如今經常使用兩個經常使用的定位方式吧!
我用的開發者工具是 myeclipse
第一個方式很簡單是利用myecclipse的控制檯javascript
別忽略它哦,它很強大的,你運行的程序,全部記錄均可以在上面看到的,若是你出錯了,它會給你詳細的提示信息的,這是最主要的查錯手段html
其餘的也能夠經過在不一樣的地方放個system.out.println()而後肯定出錯區域,結合輸出臺再用這個效果很好的
第二種就是javaWeb程序的查錯定位手段,利用瀏覽器的開發者工具,很少講直接上圖:
我用在Tomcat服務器發佈一個Ajax讀取xml文件裏面的信息
代碼以下:
praseXML.html:java
<!DOCTYPE html >
<html>
<head>
<title>瀏覽器端輸出XML文件</title>
<script type="text/javascript">
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<states.length;i++){
currentState=states[i];
out=out+"\n"+currentState.childNodes[0].nodeValue;
}
alert(out);
}
</script>
</head>
<body>
<h1> Process XML Document of U.S States</h1>
<input type="button" value="View All Listed All States" onclick="startRequest('all');"/>
<br/><br/>
<input type="button" value="View ALL Listed Northern States" onclick="startRequest('north');"/>
</body>
</html>
us.xmlnode
<?xml version="1.0" encoding="UTF-8"?>
<states>
<north>
<state>Minnesota</state>
<state>Iowa</state>
<state>North Dakata</state>
</north>
<south>
<state>Texas</state>
<state>Oklahoma</state>
<state>Louisiana</state>
</south>
<east>
<state>Now York</state>
<state>North Carolina</state>
<state>Massachussetts</state>
</east>
<west>
<state>California</state>
<state>Oregon</state>
<state>Nevada</state>
</west>
</states>
打開效果
後端
而後我改下HTML頁面的信息瀏覽器
在handleStateChange函數裏面隨便改了下,而後保存運行下,效果沒了,而後怎麼找錯呢?F12打開開發者工具或者工具點擊再點擊開發者工具打開服務器
點擊紅叉 而後能夠看到具體的錯誤提示信息,能夠具體到那個頁面哪一行錯誤eclipse
圖有點模糊,仍是能夠看到哈哈哈,截圖時候沒注意函數