日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

[Java实验 5] 异常处理

發布時間:2024/1/8 java 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Java实验 5] 异常处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗題目

一、 實驗目的

1、了解 Java 中的異常類。

2、學會使用異常模式 try-catch-finally。

3、掌握自定義異常處理。

二、實驗環境

1、硬件環境:個人 PC 機

2、軟件環境:windows 操作系統+JDK1.8 或以上+Eclipse 或 Idea

三、實驗內容

編寫一個程序,使用異常處理模式、系統給定的處理方式,自己編寫一個異常并做處理。 題目:編寫一個銀行類 Bank,要求如下“:

(1)變量 balance 為存款余額;

(2)deposite()方法為存款操作;

(3)withdrawa()方法為取款操作;

(4)getbalawal()方法為獲取余額操作,如果余額少于取款額時,顯示當前余額,并告知不能取款的提醒,否則顯示取款成功的信息。要求自義定異常來處理余額不足的 問題。

四、注意事項

1、理解系統異常處理的機制和創建自定義異常的方法。

2、掌握異常的定義、拋出方法及如何捕獲并處理異常。


實驗操作

1.自定義異常創建

首先要創建一個異常類,來繼承Throwable類,其關系圖如下

這里根據上面的題目要求,創建如下異常

需要注意的是:

  • Error(錯誤):通常是災難性的致命錯誤,不是程序可以控制的,如內存耗盡、JVM系統錯誤、堆棧溢出等。應用程序不應該去處理此類錯誤,且程序員不應該實現任何Error類的子類。
  • Exception(異常):用戶可能捕獲的異常情況,可以使用針對性的代碼進行處理,如:網絡連接中斷、數組下標越界等。
public class IllegalNumberException extends Throwable{public class illegalNumberException extends Exception {public illegalNumberException() {}public illegalNumberException(String message) {super(message);}} }

2.創建Bank類

import java.util.Scanner;public class Bank {private int balance; //存款余額private int withdraw; //需要取出的余額private int deposit; //需要存儲的余額public void setBalance(int balance) {if(balance < 0) {System.out.println("輸入余額不能為負數哦! ");} else {this.balance = balance;}}public int getBalance() {return balance;}public int getWithdraw() {return withdraw;}public int getDeposit() {return deposit;}public void setWithdraw(int withdraw) {this.withdraw = withdraw;}public void setDeposit(int deposit) {this.deposit = deposit;}public Bank() {}public Bank(int balance) throws IllegalNumberException {if(balance < 0) {throw new IllegalNumberException();}this.balance = balance;}// 存款操作public void deposite() {System.out.println("請輸入存款金額");Scanner scan = new Scanner(System.in);deposit = scan.nextInt();setDeposit(deposit);balance = balance + deposit;getbalawal();} // 取款操作public void withdrawa() throws IllegalNumberException{System.out.println("請輸入取款金額");Scanner scan = new Scanner(System.in);withdraw = scan.nextInt();if(withdraw > balance) {throw new IllegalNumberException();} else {setWithdraw(withdraw);balance = balance - withdraw;}}// 獲取余額操作public void getbalawal() {System.out.println("您當前余額為: "+balance);} }

3.創建運行類

import java.util.Scanner;public class BankMain {public static void main(String[] args) {Bank bank = new Bank();while(true) {System.out.println("--------[銀行菜單選擇]---------");System.out.println("1. 存款");System.out.println("2. 取款");System.out.println("3. 查詢當前余額");Scanner scan = new Scanner(System.in);int x = scan.nextInt();switch (x){case 1:bank.deposite();break;case 2:try{bank.withdrawa();} catch (IllegalNumberException e) {throw new RuntimeException("您的余額不足,當前余額為:"+bank.getBalance());}break;case 3:bank.getbalawal();break;default:throw new IllegalStateException("輸入了沒有功能的按鈕: " + x);}}}}

運行結果如下:

?可以看到,當我們取款大于了余額時,程序就會報錯,并且強制終止,也可以用多線程來實現一個更加安全的寫法。


4.實驗總結

  • Java異常強制用戶去考慮程序的健壯性和安全性,異常處理不用來控制程序的正常流程,其主要作用是捕獲程序在運行時發生的異常并進行相應的處理
  • 異常是程序由于各種原因導致無法正常運行的一個事件,這個事件是由一個異常對象來代表的,這個對象的產生取決于產生異常的類型,可能由應用程序本身產生,也可能由Java虛擬機產生。

  • 總結

    以上是生活随笔為你收集整理的[Java实验 5] 异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。