第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么我們需要 Java 中的 throw 關(guān)鍵字?

為什么我們需要 Java 中的 throw 關(guān)鍵字?

BIG陽(yáng) 2022-04-28 15:55:43
在這個(gè)答案中,提供的代碼是:void greet(String name) {    if (name == null) {        throw new IllegalArgumentException("Cannot greet null");    }    System.out.println("Hello, " + name);}我在所有學(xué)習(xí)“投擲”關(guān)鍵字的網(wǎng)站上都看到了類似的例子。每當(dāng)我看到這樣的例子時(shí),對(duì)我來(lái)說(shuō)沒(méi)有意義的是為什么一個(gè)人根本不打印:“Cannot greet null”而不是拋出異常。問(wèn)題:是否有更好的throw關(guān)鍵字效用示例?(我剛從高中畢業(yè),只知道高中級(jí)別的 Java 編程,所以請(qǐng)避免復(fù)雜的例子)在給定的示例中,為什么用戶選擇拋出異常而不是簡(jiǎn)單地打印錯(cuò)誤?
查看完整描述

3 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

現(xiàn)在是時(shí)候修改 Java 中異常處理的概念了。

首先什么是異常,每當(dāng)在執(zhí)行代碼行時(shí)出現(xiàn)一些錯(cuò)誤或說(shuō)問(wèn)題,它被稱為異常。

例如,如果一個(gè)人將某物除以 0,那么它將給出一個(gè)異常,因?yàn)橛?jì)算機(jī)無(wú)法處理未定義的實(shí)體。

另一個(gè)例子是,當(dāng)您聲明了一個(gè) Scanner 以獲取整數(shù)輸入時(shí),但用戶輸入了一個(gè)字母,因此它也會(huì)導(dǎo)致異常。

這里我們進(jìn)行異常處理,這意味著我們將以不會(huì)導(dǎo)致程序關(guān)閉的方式處理異常,那些已經(jīng)包含在 try 和 catch 語(yǔ)句中的特定行將無(wú)法正常工作,但其他行將被執(zhí)行。

現(xiàn)在,如果我們創(chuàng)建了一個(gè)方法來(lái)做某事,讓我們假設(shè)打印一行,并且在打印該行時(shí)發(fā)生了異常,在這里我們可以做兩件事來(lái)處理異常發(fā)生的地方或拋出它。

如果我們?cè)谀莻€(gè)地方處理異常就可以了,如果我們拋出它,那么我們必須在調(diào)用該方法的地方捕獲它。

現(xiàn)在有兩種類型的異常 1)我們稱之為未檢查異常的運(yùn)行時(shí)異常 2)我們稱之為已檢查異常的編譯時(shí)異常

這兩種異常都可以在類級(jí)別和方法級(jí)別進(jìn)行處理,我們還可以做一件事鏈?zhǔn)疆惓L幚怼_@意味著一個(gè)類將向其他類拋出異常,依此類推。


查看完整回答
反對(duì) 回復(fù) 2022-04-28
?
揚(yáng)帆大魚(yú)

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊

我認(rèn)為以下答案可以幫助您理解....


是否有更好的 throw 關(guān)鍵字實(shí)用性示例?

基本上Throw,Throws用于防止應(yīng)用程序因拋出異常而出錯(cuò)或崩潰。 Throws在方法簽名Throw中使用,用于防止流程出錯(cuò)。所以這里有一個(gè)簡(jiǎn)單的例子。


    public class Test {


    // here we have used "throws" in method signature 

    //   because we are throwing new Exception(), if array is null

    public static int getValue(int[] array, int index) throws Exception {


        // here we are preventing application from getting 

        // unconditional error (NullPointer exception)

        // if array is null, then we are throwing new Exception()

        if(array == null) {

            throw new Exception();

        }


        int value = array[index]; 

        return value;

    }


    public static void main(String[] args) {

        int[] array = null;

        // here we are wrapping our getValue() function call to try catch block

        // because getValue() function can throws Exception

        // so we are making it safe to execute our program

        try {

            int value = getValue(array, 0);

            System.out.println("value " + value);

        } catch (Exception e) {

            System.out.println("Provided array is null... so we caught the exception...");

        }

    }

}

如果您想更多地了解 throw 和 throws 的工作原理……那么您還需要了解異常處理(已檢查和未檢查)。


在給定的示例中,為什么用戶選擇拋出異常而不是簡(jiǎn)單地打印錯(cuò)誤?

根據(jù)給定的示例,您的函數(shù)目的是打招呼,但如果其他函數(shù)調(diào)用greet()為空值,則沒(méi)有任何理由打招呼 like Hello, null,因此他在執(zhí)行語(yǔ)句之前拋出異常。像...


    void greet(String name) {

        System.out.println("Hello, " + name);

    }


    String myName = null;

    greet(myName); // it will print "Hello, null";


查看完整回答
反對(duì) 回復(fù) 2022-04-28
?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊

'Throw' 關(guān)鍵字用于通知調(diào)用者傳遞的參數(shù)無(wú)效(在這種情況下),或者通常在執(zhí)行調(diào)用者調(diào)用的代碼時(shí)出現(xiàn)問(wèn)題。

考慮一個(gè)您正在編寫(xiě)在線購(gòu)物應(yīng)用程序的示例。以下是簡(jiǎn)單的事件序列:

  • 用戶滾動(dòng)項(xiàng)目并選擇一個(gè)或多個(gè)項(xiàng)目

  • 物品被添加到購(gòu)物車中,用戶點(diǎn)擊結(jié)帳

  • 用戶被重定向到第 3 方的付款頁(yè)面,他在其中輸入卡詳細(xì)信息并進(jìn)行付款

  • 向用戶顯示成功頁(yè)面

現(xiàn)在,在付款過(guò)程中,如果卡號(hào)不正確或用戶卡中沒(méi)有足夠的余額,您是將錯(cuò)誤返回給調(diào)用者(即購(gòu)物應(yīng)用程序)還是將其記錄在控制臺(tái)(在支付提供商方面)并返回響應(yīng)?當(dāng)然是前者,所以這只是為了讓調(diào)用者知道存在錯(cuò)誤并且他應(yīng)該優(yōu)雅地處理它(在我們的例子中通過(guò)在結(jié)帳時(shí)顯示適當(dāng)?shù)南ⅲ?/p>


查看完整回答
反對(duì) 回復(fù) 2022-04-28
  • 3 回答
  • 0 關(guān)注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)