返回列表 發帖

例外處理 (六)

拋出自行定義的例外類別.
  1. import java.util.*;
  2. public class ch54
  3. {
  4.     public static void main(String args[]) throws BodyException   //若要拋出自行定義的例外類別, 需在此註名
  5.     {
  6.         for(;;)   //while(true)
  7.         {
  8.             float h,w;
  9.             Scanner s=new Scanner(System.in);
  10.             try
  11.             {
  12.                 System.out.print("請輸入你的身高(公分): ");
  13.                 h=(s.nextFloat())/100;
  14.                 if(h*100<50 || h*100>220)
  15.                       throw new BodyException();
  16.                 System.out.print("請輸入你的體重(公斤): ");
  17.                 w=s.nextFloat();
  18.                 if(w<20 || w>200)
  19.                       throw new BodyException();
  20.                 System.out.println("你的BMI值為: "+w/(h*h));
  21.                 return;
  22.             }catch(InputMismatchException e)
  23.             {
  24.                 System.out.println("請輸入數字!");
  25.             }catch(BodyException e)
  26.             {
  27.                 System.out.println("請輸入合理範圍內的身高或體重!");
  28.             }
  29.         }
  30.     }
  31. }
  32. class BodyException extends Exception  //建立一個名為BodyException的類別, 繼承自Exception類別
  33. {
  34.     public BodyException()   //建構子
  35.     {
  36.         super();    //呼叫父類別的建構子
  37.     }
  38. }
複製代碼

返回列表