java第三季異常作業:借書系統

piny發表於2021-09-09
package com.imooc;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Initial {

    static Scanner input=new Scanner(System.in);

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Initial xx= new Initial();

breakWhile:while(true){
            System.out.println("輸入命令:1-按照名稱查詢圖書;2-按照序號查詢圖書。");
            try{
            switch(input.next()){
            case "1":
                System.out.println("請輸入圖書名稱:");
                try{
                    String c=input.next();
                    switch(c){
                    case "語文":
                        System.out.println("book:語文");
                        break breakWhile;
                    case "數學":
                        System.out.println("book:數學");
                        break breakWhile;
                    case "英語":
                        System.out.println("book:英語");
                        break breakWhile;
                    default :
                        System.out.println("沒有名字是:"+c+"的書籍!");
                        continue;
                    }
                }catch(Exception e){
                    Exception zy=new Exception("請輸入字串!");
                    zy.initCause(e);
                    throw zy;
                }
            case "2":
                System.out.println("請輸入圖書序號:");
                try{
                    String d=input.next();
                    switch(d){
                    case "1":
                        System.out.println("語文");
                        break breakWhile;
                    case "2":
                        System.out.println("數學");
                        break breakWhile;
                    case "3":
                        System.out.println("英語");
                        break breakWhile;
                    default :
                        System.out.println("沒有序號是"+d+"的書籍!");
                        continue;
                        }
                    }catch(Exception e){
                        Exception zy=new Exception("請輸入整數!");
                        zy.initCause(e);
                        throw zy;
                    }
            default :
                System.out.println("輸入不正確!");
                break;
            }
        }catch(Exception e){
            System.out.println("不知名異常~");
            }
        }
    }
}

有一個問題就是:目前可以顯示的異常幾乎都是透過switch語句的default來丟擲,catch塊從未執行過...這個問題該怎麼解決呢?還是不用解決這樣就行了呢?望大神給我解答#。#圖片描述圖片描述

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3034/viewspace-2798522/,如需轉載,請註明出處,否則將追究法律責任。

相關文章