返回列表 發帖

例外處理 (五) - 自訂例外類別1

除了捕捉Java拋出的例外物件,還可以利用關鍵字throw自行拋出例外物件。若在方法中拋出例外物件後,沒以try catch語法立即處理,則需在方法宣告列後方以throws關鍵字聲明該方法將會拋出例外物件,以強迫呼叫者處理例外。

  1. import java.util.Scanner;
  2. public class Ch51
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     //方法中發生例外但沒處理,以throws語法拋給呼叫者處理
  6.     public static void main(String[] args) throws MyException
  7.     {   
  8.         float x,y;
  9.         System.out.print("輸入分子: ");
  10.         x=s.nextFloat();
  11.         System.out.print("輸入分母: ");
  12.         y=s.nextFloat();
  13.         if(y==0)
  14.             throw new MyException("嘿嘿嘿~分母不可為零喔!");
  15.         System.out.println(x+"/"+y+"="+(x/y));
  16.     }
  17. }
  18. class MyException extends Exception
  19. {
  20.     MyException(String str)
  21.     {
  22.         super(str);   //呼叫父類別的建構子
  23.     }
  24. }
複製代碼

  1. import java.util.Scanner;
  2. public class OwO
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     public static void main(String[] args) throws MyException
  6.     {   
  7.         float x,y;
  8.         System.out.print("輸入分子: ");
  9.         x=s.nextFloat();
  10.         System.out.print("輸入分母: ");
  11.         y=s.nextFloat();
  12.         if(y==0)
  13.             throw new MyException("嘿嘿嘿~分母不可為零喔!");
  14.         System.out.println(x+"/"+y+"="+(x/y));
  15.     }
  16. }
  17. class MyException extends Exception
  18. {
  19.     MyException(String str)
  20.     {
  21.         super(str);
  22.     }
  23. }
複製代碼

TOP

import java.util.Scanner;
public class a01
{
    static Scanner s=new Scanner(System.in);
    public static void main(String[] args) throws MyException
    {   
        float x,y;
        System.out.print("輸入分子: ");
        x=s.nextFloat();
        System.out.print("輸入分母: ");
        y=s.nextFloat();
        if(y==0)
            throw new MyException("嘿嘿嘿~分母不可為零喔!");
        System.out.println(x+"/"+y+"="+(x/y));
    }
}
class MyException extends Exception
{
    MyException(String str)
    {
        super(str);
    }
}

TOP

本帖最後由 林羿丞 於 2021-1-16 11:23 編輯
  1. package aaa;

  2. import java.util.*;

  3. public class aaa
  4. {

  5.     public static void main(String[] args) throws MyException
  6.     {
  7.      
  8.         
  9.          
  10.             
  11.                 Scanner s=new Scanner(System.in);
  12.                 int x,y;
  13.                 System.out.print("輸入分子: ");
  14.                 x=s.nextInt();
  15.                 System.out.print("輸入分母: ");
  16.                 y=s.nextInt();
  17.                 if(y==0)
  18.                     throw new MyException("嘿嘿嘿~分母不可為零喔!");
  19.                 System.out.println(x+"/"+y+"="+(x/y));
  20.         }
  21.     }

  22. class MyException extends Exception
  23.                 {
  24.                     MyException(String str)
  25.                     {
  26.                         super(str);   //呼叫父類別的建構子
  27.                     }
  28.                 }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class a01
  3. {
  4.     static Scanner s=new Scanner(System.in);
  5.     public static void main(String[] args) throws MyException
  6.     {   
  7.         float x,y;
  8.         System.out.print("輸入分子: ");
  9.         x=s.nextFloat();
  10.         System.out.print("輸入分母: ");
  11.         y=s.nextFloat();
  12.         if(y==0)
  13.             throw new MyException("嗨呀~分母不可為零喔!");
  14.         System.out.println(x+"/"+y+"="+(x/y));
  15.     }
  16. }
  17. class MyException extends Exception
  18. {
  19.     MyException(String str)
  20.     {
  21.         super(str);  
  22.     }
  23. }
複製代碼

TOP

  1. package o1;
  2. import java.util.Scanner;
  3. public class a2
  4. {
  5.     static Scanner s=new Scanner(System.in);
  6.     //方法中發生例外但沒處理,以throws語法拋給呼叫者處理
  7.     public static void main(String[] args) throws MyException
  8.     {   
  9.         float x,y;
  10.         System.out.print("輸入分子: ");
  11.         x=s.nextFloat();
  12.         System.out.print("輸入分母: ");
  13.         y=s.nextFloat();
  14.         if(y==0)
  15.             throw new MyException("~~~~分母不可為零喔!");
  16.         System.out.println(x+"/"+y+"="+(x/y));
  17.     }
  18. }
  19. class MyException extends Exception
  20. {
  21.     MyException(String str)
  22.     {
  23.         super(str);   //呼叫父類別的建構子
  24.     }
  25. }
複製代碼

TOP

  1. package a01;

  2. import java.util.Scanner;
  3. public class a01
  4. {
  5.     static Scanner s=new Scanner(System.in);
  6.     public static void main(String[] args) throws MyException
  7.     {   
  8.         float x,y;
  9.         System.out.print("輸入分子: ");
  10.         x=s.nextFloat();
  11.         System.out.print("輸入分母: ");
  12.         y=s.nextFloat();
  13.         if(y==0)
  14.             throw new MyException("嘿嘿嘿~分母不可為零喔!");
  15.         System.out.println(x+"/"+y+"="+(x/y));
  16.     }
  17. }
  18. class MyException extends Exception
  19. {
  20.     MyException(String str)
  21.     {
  22.         super(str);   
  23. }
複製代碼

TOP

  1. package a01;
  2. import java.util.*;
  3. public class a01 {
  4.         static Scanner s =new Scanner(System.in);

  5.         public static void main(String[] args) throws MyException{
  6.                 float x,y;
  7.                 System.out.print("輸入分子:");
  8.                 x = s.nextFloat();
  9.                 System.out.print("輸入分母:");
  10.                 y = s.nextFloat();
  11.                 if(y==0)
  12.                         throw new MyException("分母不可為0喔!");
  13.                         System.out.println(x+"/"+y+"="+(x/y));               
  14.                         }
  15.                     }
  16. class MyException extends Exception
  17. {
  18.         MyException(String str)
  19.         {
  20.                 super(str);
  21.         }
  22. }
複製代碼

TOP

  1. package A01;
  2. import java.util.Scanner;


  3. public class A01 {
  4.         static Scanner s=new Scanner(System.in);
  5.         public static void main(String[] args)throws MyException {
  6.                                
  7.        float x,y;
  8.        System.out.println("輸入分子");
  9.        x=s.nextFloat();
  10.        System.out.println("輸入分母");       
  11.        y=s.nextFloat();
  12.        if(y==0)
  13.                throw new MyException("分母不可為零喔!");
  14.        System.out.println(x+"/"+y+"="+x/y);
  15.         }
  16. }
  17. class MyException extends Exception       
  18. {
  19.         MyException(String str)       
  20.         {
  21.     super(str);
  22.         }
  23. }
複製代碼
回復 1# 陳弘修

TOP

返回列表