欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java異常:異常處理--try-catch結(jié)構(gòu)詳解

 更新時(shí)間:2021年09月08日 09:30:20   作者:_卷心菜_  
今天小編就為大家分享一篇關(guān)于Java異常處理之try...catch...finally詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

從鍵盤接收兩個(gè)整數(shù),輸出兩數(shù)的商:

package java_exception;
import java.util.Scanner;
public class TryDemoOne {
    public static void main(String[] args) {
        //定義兩個(gè)整數(shù),鍵盤輸入兩個(gè)整數(shù),輸出兩數(shù)之商
        Scanner input = new Scanner(System.in);
        System.out.println("=====運(yùn)算開(kāi)始=====");
        System.out.print("請(qǐng)輸入第一個(gè)整數(shù):");
        int one = input.nextInt();
        System.out.print("請(qǐng)輸入第二個(gè)整數(shù):");
        int two = input.nextInt();
        System.out.println("one和two的商為:"+ (one/two));
        System.out.println("=====運(yùn)算結(jié)束=====");
    }
}

若此時(shí)將0或字母作為除數(shù),程序必然會(huì)報(bào)錯(cuò)。

為了處理這種錯(cuò)誤的發(fā)生,可以引入try-catch來(lái)避免程序報(bào)錯(cuò)而終止運(yùn)行。

在可能出現(xiàn)異常的位置引入try-catch結(jié)構(gòu),當(dāng)程序某一句發(fā)生錯(cuò)誤,就會(huì)輸出catch中自己設(shè)置的報(bào)錯(cuò)內(nèi)容(程序出現(xiàn)錯(cuò)誤?。渲?code> e.printStackTrace();語(yǔ)句會(huì)打印出錯(cuò)的詳情信息,在終端打印的位置隨機(jī),若沒(méi)有該語(yǔ)句,就只會(huì)輸出自己設(shè)置的報(bào)錯(cuò)內(nèi)容,程序正常運(yùn)行。:

try{
    System.out.print("請(qǐng)輸入第一個(gè)整數(shù):");
    int one = input.nextInt();
    System.out.print("請(qǐng)輸入第二個(gè)整數(shù):");
    int two = input.nextInt();
    System.out.println("one和two的商為:"+ (one/two));
}catch(Exception e){
    System.out.println("程序出現(xiàn)錯(cuò)誤!");
    e.printStackTrace();   //打印出錯(cuò)的詳情信息,在終端打印的位置隨機(jī)
}

輸出:

1.輸入兩個(gè)整數(shù)

=====運(yùn)算開(kāi)始=====
請(qǐng)輸入第一個(gè)整數(shù):15
請(qǐng)輸入第二個(gè)整數(shù):5
one和two的商為:3
=====運(yùn)算結(jié)束=====

2.將字母a作為除數(shù)輸入

=====運(yùn)算開(kāi)始=====
請(qǐng)輸入第一個(gè)整數(shù):15
請(qǐng)輸入第二個(gè)整數(shù):s
程序出現(xiàn)錯(cuò)誤!
java.util.InputMismatchException
        at java.base/java.util.Scanner.throwFor(Scanner.java:939)
        at java.base/java.util.Scanner.next(Scanner.java:1594)
        at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
        at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
        at java_exception.TryDemoOne.main(TryDemoOne.java:21)
=====運(yùn)算結(jié)束=====

3.將0作為除數(shù)輸入

=====運(yùn)算開(kāi)始=====
請(qǐng)輸入第一個(gè)整數(shù):15
請(qǐng)輸入第二個(gè)整數(shù):0
程序出現(xiàn)錯(cuò)誤!
java.lang.ArithmeticException: / by zero
        at java_exception.TryDemoOne.main(TryDemoOne.java:22)
=====運(yùn)算結(jié)束=====

如果要保證在catch包含的語(yǔ)句之后的結(jié)果正常輸出,可以加上finally:

try{
    System.out.print("請(qǐng)輸入第一個(gè)整數(shù):");
    int one = input.nextInt();
    System.out.print("請(qǐng)輸入第二個(gè)整數(shù):");
    int two = input.nextInt();
    System.out.println("one和two的商為:"+ (one/two));
}catch(Exception e){
    System.out.println("程序出現(xiàn)錯(cuò)誤!");
    e.printStackTrace();   //打印出錯(cuò)的詳情信息,在終端打印的位置隨機(jī)
}finally{
    System.out.println("=====運(yùn)算結(jié)束=====");
}

以上就是try-catch-finally的完整組合了,try負(fù)責(zé)拋出異常,catch負(fù)責(zé)捕獲異常,finally負(fù)責(zé)無(wú)論怎樣都會(huì)執(zhí)行。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • MyEclipse去除網(wǎng)上復(fù)制下來(lái)的代碼帶有的行號(hào)(正則去除行號(hào))

    MyEclipse去除網(wǎng)上復(fù)制下來(lái)的代碼帶有的行號(hào)(正則去除行號(hào))

    這篇文章主要介紹了MyEclipse去除網(wǎng)上復(fù)制下來(lái)的代碼帶有的行號(hào)(正則去除行號(hào))的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • Java中二叉樹(shù)的建立和各種遍歷實(shí)例代碼

    Java中二叉樹(shù)的建立和各種遍歷實(shí)例代碼

    這篇文章主要介紹了Java中二叉樹(shù)的建立和各種遍歷實(shí)例代碼,涉及樹(shù)節(jié)點(diǎn)的定義,后序遍歷,層序遍歷,深度優(yōu)先和廣度優(yōu)先等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Spring Cloud CLI簡(jiǎn)單介紹

    Spring Cloud CLI簡(jiǎn)單介紹

    本文我們將介紹Spring Boot Cloud CLI(或簡(jiǎn)稱Cloud CLI)。該工具為Spring Boot CLI提供了一組命令行增強(qiáng)功能,有助于進(jìn)一步抽象和簡(jiǎn)化Spring Cloud部署。感興趣的小伙伴們可以參考一下
    2018-12-12
  • 智能 AI 代碼生成工具 Cursor 安裝和使用超詳細(xì)教程

    智能 AI 代碼生成工具 Cursor 安裝和使用超詳細(xì)教程

    Cursor.so 是一個(gè)集成了 GPT-4 的國(guó)內(nèi)直接可以訪問(wèn)的,優(yōu)秀而強(qiáng)大的免費(fèi)代碼生成器,可以幫助你快速編寫(xiě)、編輯和討論代碼,這篇文章主要介紹了智能 AI 代碼生成工具 Cursor 安裝和使用介紹,需要的朋友可以參考下
    2023-05-05
  • 詳解Java類加載器與雙親委派機(jī)制

    詳解Java類加載器與雙親委派機(jī)制

    這篇文章主要為大家介紹一下Java中的類加載器與雙親委派機(jī)制,文中通過(guò)示例為大家進(jìn)行了詳細(xì)的介紹,對(duì)我們學(xué)習(xí)Java有一定幫助,需要的可以參考一下
    2022-08-08
  • Java基礎(chǔ)之Comparable與Comparator概述

    Java基礎(chǔ)之Comparable與Comparator概述

    這篇文章主要介紹了Java基礎(chǔ)之Comparable與Comparator詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • MyBatis屬性名和字段名不一致的問(wèn)題解決方法

    MyBatis屬性名和字段名不一致的問(wèn)題解決方法

    這篇文章給大家詳細(xì)介紹了MyBatis屬性名和字段名不一致的問(wèn)題解決,文中有詳細(xì)的代碼示例和圖文展示供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的參考價(jià)值,需要的朋友可以參考下
    2023-12-12
  • SpringCloud @RefreshScope刷新機(jī)制深入探究

    SpringCloud @RefreshScope刷新機(jī)制深入探究

    RefeshScope這個(gè)注解想必大家都用過(guò),在微服務(wù)配置中心的場(chǎng)景下經(jīng)常出現(xiàn),他可以用來(lái)刷新Bean中的屬性配置,那大家對(duì)他的實(shí)現(xiàn)原理了解嗎?它為什么可以做到動(dòng)態(tài)刷新呢
    2023-03-03
  • 基于idea Maven中的redis配置使用詳解

    基于idea Maven中的redis配置使用詳解

    這篇文章主要介紹了基于idea Maven中的redis配置使用,包括一些配置文件需要的內(nèi)容,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-07-07
  • IDEA中配置Java反編譯工具javap -c的使用

    IDEA中配置Java反編譯工具javap -c的使用

    本文主要介紹了IDEA中配置Java反編譯工具javap -c的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論