異常的認(rèn)識-(java)-創(chuàng)新互聯(lián)

文章目錄
  • 前言
  • 1. 什么時異常?
  • 2. 異常的分類
    • 2.1 運(yùn)行時異常/非受查異常
    • 2.2 編譯時異常/受查異常
  • 3. 處理異常
    • 3.1 拋出異常
    • 3.2 聲明異常
    • 3.3 try catch處理異常
  • 總結(jié)

創(chuàng)新互聯(lián)公司是一家網(wǎng)站設(shè)計公司,集創(chuàng)意、互聯(lián)網(wǎng)應(yīng)用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設(shè)服務(wù)商,主營產(chǎn)品:成都響應(yīng)式網(wǎng)站建設(shè)公司、品牌網(wǎng)站設(shè)計、全網(wǎng)營銷推廣。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡(luò)互動的體驗,以及在手機(jī)等移動端的優(yōu)質(zhì)呈現(xiàn)。成都網(wǎng)站建設(shè)、成都做網(wǎng)站、移動互聯(lián)產(chǎn)品、網(wǎng)絡(luò)運(yùn)營、VI設(shè)計、云產(chǎn)品.運(yùn)維為核心業(yè)務(wù)。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認(rèn)真對待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價值服務(wù)。

???學(xué)習(xí)的道路很枯燥,希望我們能并肩走下來!

編程真是一件很奇妙的東西。你只是淺嘗輒止,那么只會覺得枯燥乏味,像對待任務(wù)似的應(yīng)付它。但你如果深入探索,就會發(fā)現(xiàn)其中的奇妙,了解許多所不知道的原理。知識的力量讓你沉醉,甘愿深陷其中并發(fā)現(xiàn)寶藏。


前言

本篇通過認(rèn)識異常了解一般程序中出現(xiàn)的異常,認(rèn)識異常的分類,正確的處理異常的方式,例如:拋出異常,捕獲異常等。如有錯誤,請在評論區(qū)指正,讓我們一起交流,共同進(jìn)步!


本文開始

1. 什么時異常?

異常:程序執(zhí)行前沒有預(yù)料到的情況,程序報出的錯誤;

之前所見的異常:
空指針異常,算術(shù)異常等

2. 異常的分類

異常分為一般分為 運(yùn)行時異常 和 編譯時異常
錯誤:遞歸死循環(huán)等問題為錯誤
異常大致分類圖:

在這里插入圖片描述

2.1 運(yùn)行時異常/非受查異常

運(yùn)行時異常(RunTimeException):錯誤不會出現(xiàn)畫線部分,程序執(zhí)行時發(fā)生的異常;
例如: 空指針異常,數(shù)組越界異常等

public static void main(String[] args) {
        int[] arr = null;
        System.out.println(arr.length); // 空指針異常
        System.out.println(arr[5]); // 數(shù)組越界異常
        System.out.println(2/0); // 算數(shù)異常
    }

代碼異常報錯示范:

在這里插入圖片描述

2.2 編譯時異常/受查異常

編譯時異常(Checked Exception):錯誤部分會出現(xiàn)畫線標(biāo)注,提醒異常,編譯時發(fā)生的異常;
【注】有編譯時異常,必須處理,否則無法編譯;
例如:克隆
異常代碼示范:

class Student implements Cloneable{
    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
public class Main {
    public static void main(String[] args) {
        Student student = new Student();
        Student student1 = (Student)student.clone();
    }
}

編譯時異常:

>![在這里插入圖片描述](https://img-blog.csdnimg.cn/6efd724499754749a4e913490d74006f.png)

3. 處理異常

異常關(guān)鍵字:throw(拋出時使用),throws(聲明異常),try和catch,finally(處理異常時使用)

3.1 拋出異常

拋出異常使用關(guān)鍵字:throw
當(dāng)滿足什么條件下,直接拋出異常;拋出異常指我們知道代碼可能發(fā)生異常,及時拋出,提醒使用者更改;

在這里插入圖片描述

3.2 聲明異常

異??梢岳斫鉃榫哂袀鬟f性,如果不處理異常,仍會報錯;
使用關(guān)鍵字:throws聲明
聲明異常后,是知道有異常,但是如果不處理,還是不能編譯;
聲明異常只是知道該部分可能存在異常,如果不處理會傳遞給后面的代碼,都只聲明不處理,最后會交給JVM處理,產(chǎn)生異常錯誤;

在這里插入圖片描述

3.3 try catch處理異常

代碼格式:

public static void main(String[] args) {
        try {
            //可能產(chǎn)生異常的代碼
            System.out.println(4/0);
        } catch (RuntimeException e) { //括號中存放什么異常
            //處理異常
            e.printStackTrace();  // 打印產(chǎn)生錯誤的信息 : 紅色字體部分如下圖
            System.out.println("異常的信息");
        }
        // 寫正常的代碼
        System.out.println("正常的代碼");
    }

【注】異常處理完成后,正常的代碼可以執(zhí)行,不處理,報異常后的代碼都不會執(zhí)行;
1.catch: 可寫多個catch,catch的順序不影響異常的捕獲;
2.多個異常情況下,先執(zhí)行那個程序(代碼),先捕獲那個異常;(與catch無關(guān))

在這里插入圖片描述

finally: try中是否拋出異常,finally中的代碼都會執(zhí)行;
一般用于資源釋放;

try {
            //可能產(chǎn)生異常的代碼
        } catch (RuntimeException e) { //括號中存放什么異常
            //處理異常
            e.printStackTrace();
        } finally {
            System.out.println("finall一般用于資源釋放");
        }
        System.out.println("正常的代碼");

總結(jié)

???各位讀友,本篇分享到內(nèi)容如果對你有幫助給個👍贊鼓勵一下吧!!
感謝每一位一起走到這的伙伴,我們可以一起交流進(jìn)步?。?!一起加油吧?。?!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

本文標(biāo)題:異常的認(rèn)識-(java)-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://muchs.cn/article48/dpdpep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、關(guān)鍵詞優(yōu)化、服務(wù)器托管手機(jī)網(wǎng)站建設(shè)、微信小程序標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)