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

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

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

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

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

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

若此時將0或字母作為除數(shù),程序必然會報錯。

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

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

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

輸出:

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

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

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

=====運(yùn)算開始=====
請輸入第一個整數(shù):15
請輸入第二個整數(shù):s
程序出現(xiàn)錯誤!
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)算開始=====
請輸入第一個整數(shù):15
請輸入第二個整數(shù):0
程序出現(xiàn)錯誤!
java.lang.ArithmeticException: / by zero
        at java_exception.TryDemoOne.main(TryDemoOne.java:22)
=====運(yùn)算結(jié)束=====

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

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

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

總結(jié)

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

相關(guān)文章

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

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

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

    Java中二叉樹的建立和各種遍歷實例代碼

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

    Spring Cloud CLI簡單介紹

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

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

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

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

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

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

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

    MyBatis屬性名和字段名不一致的問題解決方法

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

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

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

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

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

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

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

最新評論