国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Java根據(jù)控制臺(tái)實(shí)現(xiàn)定位異常

瀏覽:25日期:2022-09-01 08:37:26

異常堆棧作為我們平時(shí)定位問題的最重要手段,為我們解決問題提供了很大幫助。但是我們可能都有這樣的習(xí)慣就是看到一段異常,尤其是異常堆棧很多,層次很深的時(shí)候。就感覺很擔(dān)心害怕,匆匆掃描一眼就開始猜問題應(yīng)該如何如何,然后不斷的根據(jù)猜測去調(diào)整代碼,雖然也會(huì) debug 但是還是浪費(fèi)了不少的時(shí)間。

這是因?yàn)椋?/p>

1.我們沒有認(rèn)認(rèn)真真的看異常堆棧信息;

2.堆棧太多,我們并不確定到底哪里導(dǎo)致了問題。

解決辦法就是:

1.知道異常堆棧產(chǎn)生的流程。

2.耐心的閱讀堆棧信息。

3.解決問題

1.異常產(chǎn)生流程:上面報(bào)錯(cuò),下面跟隨

舉個(gè)例子:我們有如下的測試代碼:

package com.bsx.test;public class TestException { public static void main(String[] args) { TestException exception = new TestException(); exception.m1(); } public void m1() { m2(); } public void m2() { m3(); } public void m3() { String name = null; System.out.println(name.length()); }}

執(zhí)行之后輸出結(jié)果如下:

Exception in thread 'main' java.lang.NullPointerExceptionat com.bsx.test.TestException.m3(TestException.java:22)at com.bsx.test.TestException.m2(TestException.java:17)at com.bsx.test.TestException.m1(TestException.java:13)at com.bsx.test.TestException.main(TestException.java:9)

我們可以看到,這個(gè)錯(cuò)誤日志輸出的順序跟調(diào)用順序是相反的,為什么呢?

我們知道 java 的方法在執(zhí)行的時(shí)候是在虛擬機(jī)棧中執(zhí)行的,每執(zhí)行一個(gè)方法就會(huì)新建一個(gè)棧幀然后壓入到虛擬機(jī)棧中。這是一個(gè)后進(jìn)先出的結(jié)構(gòu),所以報(bào)錯(cuò)的時(shí)候也是從被調(diào)用者最開始報(bào)錯(cuò),然后調(diào)用者依次報(bào)錯(cuò),所以打印錯(cuò)誤時(shí)的順序也是報(bào)錯(cuò)的位置在最上面,調(diào)用者依次向后排。

由此我們可以得出結(jié)論:上面報(bào)錯(cuò),下面跟隨。

2.讀懂報(bào)錯(cuò)信息:尋找我們代碼報(bào)錯(cuò)的位置

從上面的分析我們知道報(bào)錯(cuò)位置在上面。

大部分情況下,最上方的報(bào)錯(cuò)信息就是我們代碼出錯(cuò)的位置。但是有時(shí)候最上方的日志并不是我們自己的代碼,那是因?yàn)槲覀兊拇a調(diào)用了一些三方 jar 包的代碼。但是這并不影響我們?nèi)ザㄎ粏栴},我們還是根據(jù)上面報(bào)錯(cuò),下面跟隨來定位問題,那么真正報(bào)錯(cuò)的位置還是在上面。那么我們只需要從上往下依次找我們自己的代碼即可。

第一個(gè)找到的我們的代碼位置就是我們代碼中引發(fā)報(bào)錯(cuò)的位置。有時(shí)候有些報(bào)錯(cuò)信息很明顯,我們可以根據(jù)報(bào)錯(cuò)信息來直接定位到問題癥結(jié)。有時(shí)候報(bào)錯(cuò)信息并不能很明確的指明報(bào)錯(cuò)原因,這時(shí)候,我們就可以在這個(gè)精確的位置打上斷點(diǎn)來調(diào)試一下。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 国产精品中文字幕在线观看 | 久久是精品 | 男人桶女人逼 | 欧美嫩交| 国产自产v一区二区三区c | 日韩视频大全 | 国产午夜a理论毛片在线影院 | 女教师的一级毛片 | 亚洲第一网站在线观看 | 日韩在线视屏 | 色综合久久88色综合天天提莫 | 国产亚洲精品久久久久久无 | 国产视频网站在线观看 | 久久久久久久久免费视频 | 在线免费观看一级毛片 | 91啦国产 | 国产亚洲精品片a77777 | 偷拍精品视频一区二区三区 | 亚洲欧美一级视频 | 久久91精品国产99久久yfo | 国产三级观看 | 国产成人高清精品免费5388密 | 国产孕妇孕交大片孕 | 亚洲精品视频免费看 | 国产午夜精品一区二区 | 午夜影院免费入口 | 久久伊人网站 | 一级毛片无毒不卡直接观看 | 亚洲国产午夜精品理论片的软件 | 性做久久久久久久免费观看 | 色综合美国色农夫网 | 国产欧美一区二区三区视频 | 国产婷婷一区二区在线观看 | 国产看午夜精品理论片 | 国产精品视频免费一区二区三区 | 国产成人一区二区三中文 | 亚洲成a人片在线观看中文!!! | 欧美三级毛片 | 日韩一级性生活片 | 欧美激情国内自拍偷 | 美国一级特a黄 |