国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java常見Bug解決方案

這篇具有很好參考價值的文章主要介紹了Java常見Bug解決方案。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 前言

剛開始學習Java語言的小伙伴, 很可能被各種各樣的程序bug搞得焦頭爛額, 甚至被勸退。別怕,健哥將手把手帶你了解Java中的異常體系, 如何識別Bug以及如何解決Bug。

2. Java語言中異常的分類

讓我們先來了解下Java中的異常分類, 如下圖:

java常見bug,Java,java,bug,開發(fā)語言

Java中的異常分為Error錯誤和Exception異常兩大類

Error錯誤: 一般所有編譯時期的錯誤或者系統(tǒng)錯誤, 都來自于虛擬機自身. 錯誤無法處理。
Exception異常: 它規(guī)定程序本身可以處理的異常, 是指程序本身有問題, 異??梢蕴幚?。

而Java里的異常又可以分為如下兩種情況:

編譯期異常:?一般集成開發(fā)工具比如IDEA工具, Eclipse工具等都有語法提示功能. 編譯期異常這些工具都有明顯的提示, 根據(jù)提示修改即可。
RuntimeException運行時異常: 運行時異常, 其中一部分比如IO異常等是可以通過try...catch手動拋出, 或者通過throws等Java語法處理掉. 而有些是程序運行中意外發(fā)成的, 這些異常也就是bug. 下面主要研究的就是bug如何處理。

3. 解決Bug整體思路

程序出Bug的時候, 我們最直接的感受是, 程序報錯了.......

初學者這個時候就很慌, 哪里出問題了呢? 我該如何下手呢? 然后直接用眼睛一遍一遍的看代碼, 想看出問題。其實這些都是錯誤的做法!!!

如果是幾百行, 上千行代碼, 將很難用眼睛看出問題.

所以解決Bug的整體思路是:

  1. 找到程序代碼異常出現(xiàn)在第幾行, 也就是哪一行代碼的問題, 導致的Bug。
  2. 找到問題后, 修改就方便了. 其實改Bug主要是不容易找到Bug在哪里。

4. 發(fā)現(xiàn)解決Bug利器 - 日志

看錯誤日志, 雖然都是英文的, 可能有些小伙伴看不懂, 但是建議通讀一遍, 看看是否有提示錯誤出現(xiàn)在第幾行, 很多簡單的問題, 日志上已經(jīng)指定了哪個類, 第幾行的錯誤。

下面大家看例子:

java常見bug,Java,java,bug,開發(fā)語言

運行結(jié)果如下:

java常見bug,Java,java,bug,開發(fā)語言

這樣大家就可以清楚的看到, 錯誤日志中已經(jīng)明顯的告訴我們, 問題出在TestA.java這個類的第20行代碼上, 我的第20行代碼是:

java常見bug,Java,java,bug,開發(fā)語言

原因是他的返回值是字符串并且包含中文, 我們強制轉(zhuǎn)換類型為Integer, 結(jié)果拋出了類型轉(zhuǎn)換異常。

5. 發(fā)現(xiàn)解決Bug利器 - Debug調(diào)試工具使用

不管是IDEA集成開發(fā)工具, 還是Eclipse開發(fā)工具都自帶調(diào)試Bug的利器, Debug工具。但是初學者不會用, 下面健哥帶大家學習Debug工具的使用。

  • 首先就是需要給代碼打斷點, 斷點的作用是決定代碼執(zhí)行到哪一行暫停下來, 好讓我們詳細看看執(zhí)行情況. 而初學者恰恰不會打斷點, 搞得很暈, 所以健哥給大家的建議就是初學者, 可以在代碼入口的第一行打斷點.
  • 斷點使用規(guī)則:

? ? ? ? ?斷點不可以打在接口上, 只能使用在類上,

? ? ? ? ?斷點不可以打在方法定義行上

? ? ? ? ?斷點不可以打在空行, 注釋行

? ? ? ? ?斷點不可以打在全局變量上

下面標注的都是不可以打斷點的位置:

java常見bug,Java,java,bug,開發(fā)語言

  • main方法是程序的入口, 斷點可以打在它下面的第一行上, 如下圖:

java常見bug,Java,java,bug,開發(fā)語言

  • 運行main方法, 執(zhí)行代碼, 會自動進入到斷點行, 暫停下來, 接下來可以點擊下圖所示按鈕, 讓代碼一行一行執(zhí)行. 每點擊一次代碼執(zhí)行一行, 這樣在哪一行報錯, 就清晰可見了. 方便Bug定位.

java常見bug,Java,java,bug,開發(fā)語言

  • 在Variables標簽中還可以看到執(zhí)行后的變量以及對象的值是多少, 每執(zhí)行一行代碼的時候, 看著代碼腦子里想它的結(jié)果運行完這一行是多少, 再看下面監(jiān)測的數(shù)值, 是否匹配, 是否滿足預期。如果不滿足, 是自己想錯了, 還是代碼執(zhí)行錯了. 這樣就知道代碼執(zhí)行的原因了。

java常見bug,Java,java,bug,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-649694.html

  • 以后再遇到異常,你知道該怎么解決了嗎?如果還不知道怎么解決,給來找健哥,健哥手把手帶你搞定這些異常!

到了這里,關(guān)于Java常見Bug解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 前端開發(fā)中遇到的小bug--解決方案

    前端開發(fā)中遇到的小bug--解決方案

    1.在 searchBox 搜索欄中,用到了多級下拉框的篩選條件,樣式如下: ?這樣看起來是沒什么問題的,但當我選擇時,在框中顯示的內(nèi)容和篩選條件的內(nèi)容就出錯了: 這里其實是選擇了 采礦業(yè) -- 石油和天然氣開采業(yè) ,但顯示框中是 林業(yè),篩選條件的內(nèi)容也有問題: 這里沒有顯

    2024年02月10日
    瀏覽(21)
  • Vue 3 開發(fā)中遇到的問題及解決方案(fix bug)

    Vue 3 開發(fā)中遇到的問題及解決方案(fix bug)

    開發(fā)環(huán)境:mac系統(tǒng),node版本: 16.15.0 解決方案1 升級或降級(版本) 思路 Vue和pinia 版本不兼容;Vue 的版本為 “vue”: “^3.2.47”, pinia的版本為 “pinia”: “^2.0.36” 解決過程 升高pinia的版本 “pinia”: “^2.0.36”, ==》 “pinia”: “^2.0.36”, 先刪除pinia npm uni pinia 再重新安裝 y

    2024年02月04日
    瀏覽(26)
  • 【BUG】Nginx轉(zhuǎn)發(fā)失敗解決方案

    【BUG】Nginx轉(zhuǎn)發(fā)失敗解決方案

    最近在做項目的時候出現(xiàn)了一個問題,琢磨了好久,來淺淺記錄一下。 這個項目后端使用的是gateway網(wǎng)關(guān)和nacos實現(xiàn)動態(tài)的路由,前端使用nginx來管理前端資源,大體流程:瀏覽器發(fā)起請求,經(jīng)過nginx代理,轉(zhuǎn)到gateway網(wǎng)關(guān)服務上,然后gateway根據(jù)路徑,動態(tài)得路由到各個服務。

    2024年02月07日
    瀏覽(24)
  • YOLOv8 Bug及解決方案匯總

    YOLOv8 Bug及解決方案匯總

    Traceback (most recent call last): File “D:AnacondaScriptsyolo-script.py”, line 33, in sys.exit(load_entry_point(‘ultralytics==8.0.83’, ‘console_scripts’, ‘yolo’)()) self.model, self.save = parse_model(deepcopy(self.yaml), ch=ch, verbose=verbose) # model, savelist File “D:Anacondalibsite-packagesultralytics-8.0.83-py3.8.eggultralyti

    2024年02月07日
    瀏覽(26)
  • 【Unity】Animation Playable Bug、限制及解決方案匯總

    【Unity】Animation Playable Bug、限制及解決方案匯總

    先自薦一下我的PlayableGraph監(jiān)控工具,比官方的Visualizer好用得多:https://github.com/SolarianZ/UnityPlayableGraphMonitorTool 文中提及的各項Bug及解決方案的最小化測試工程可在此倉庫下載:https://github.com/zdirtywork 。 【可規(guī)避】UUM-30899 使用 AnimationClipPlayable 播放動畫時,調(diào)用 Playable.Pause(

    2024年02月01日
    瀏覽(55)
  • 【bug】vscode python 3.6 無法debug 解決方案

    【bug】vscode python 3.6 無法debug 解決方案

    某個環(huán)境是使用python 3.6 安裝的,vscode沒法調(diào)試。是由于python插件太新了,直接下載一個,用VSIX安裝 1.下載python 拓展包 https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-python/vsextensions/python/2022.6.0/vspackage 2.可以將2022.6.0更改為指定版本,2022.6.0經(jīng)過測試支持python 3.6 在v

    2024年02月11日
    瀏覽(50)
  • 【python修復bug】—— HTTP_2 網(wǎng)站超時問題的解決方案

    【python修復bug】—— HTTP_2 網(wǎng)站超時問題的解決方案

    在進行網(wǎng)絡數(shù)據(jù)爬取時,使用 Python 程序訪問支持 HTTP/2 協(xié)議的網(wǎng)站時,有時會遇到超時問題。這可能會導致數(shù)據(jù)獲取不完整,影響爬蟲程序的正常運行。 問題描述 在實際操作中,當使用 Python 編寫的爬蟲程序訪問支持 HTTP/2 協(xié)議的網(wǎng)站時,可能會遇到超時異常。即使嘗試強制

    2024年01月18日
    瀏覽(25)
  • 「Bug」“OSError [WinError 1455] 頁面文件太小,無法完成操作” 解決方案

    訓練YOLOv5模型時出現(xiàn)錯誤 修改train.py中配置項workers的默認值,從初始值8修改為0(也可以試試1或2等較小的數(shù))。 workers_per_gpu=2, # 每個gpu分配的線程數(shù),給每一個GPU喂數(shù)據(jù)的進程,GPU性能越強,取值越大,這樣才能充分利用GPU的算力。如果用自己的電腦訓練,這個值需要取小一

    2024年02月11日
    瀏覽(27)
  • bug復刻,解決方案---在改變div層級關(guān)系時,導致傳參失敗

    bug復刻,解決方案---在改變div層級關(guān)系時,導致傳參失敗

    在優(yōu)化頁面時,為了實現(xiàn)網(wǎng)頁頂部遮擋效果(內(nèi)容滾動,頂部導航欄不隨著一起滾動,并且覆蓋),做法是將內(nèi)容都放在一個div里面,為這個新的div設置樣式,margin-top width heigh等,網(wǎng)頁效果的確實現(xiàn)了,但是出現(xiàn)的新的問題,傳參失敗,點擊按鈕跳轉(zhuǎn)之后,在頁面是更新的數(shù)

    2024年02月11日
    瀏覽(28)
  • AttributeError: ‘DataFrame‘ object has no attribute ‘iteritems‘解決方案【Bug已解決-Python】

    AttributeError: ‘DataFrame‘ object has no attribute ‘iteritems‘解決方案【Bug已解決-Python】

    本文主要介紹了AttributeError: ‘DataFrame‘ object has no attribute ‘iteritems‘解決方案,希望能對大家有所幫助。 今天在運行項目時,卻出現(xiàn)AttributeError: ‘DataFrame‘ object has no attribute ‘iteritems‘的錯誤提示,具體報錯信息如下所示: AttributeError: ‘DataFrame‘ object has no attribute ‘i

    2024年03月23日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包