標題:
例外處理 (二) - 自訂例外類別
[打印本頁]
作者:
tonyh
時間:
2016-6-17 20:03
標題:
例外處理 (二) - 自訂例外類別
本帖最後由 tonyh 於 2016-6-17 20:38 編輯
除了捕捉Java拋出的例外物件,還可以利用關鍵字throw自行拋出例外物件。而若拋出的例外物件非系統能自行捕捉到,譬如自訂類別的例外,則需在方法宣告列後面利用關鍵字throws註明例外類別名稱,以便在指定的方法中拋出例外。
[attach]1644[/attach]
import java.util.Scanner;
public class Ch51
{
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); //呼叫父類別的建構子
}
}
複製代碼
作者:
梁和雋
時間:
2016-6-17 20:18
本帖最後由 梁和雋 於 2016-6-17 20:44 編輯
import java.util.Scanner;
public class Ch1010
{
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);
}
}
複製代碼
作者:
沈子耕
時間:
2016-6-17 20:41
import java.util.Scanner;
public class Ch50{
public static void main(String args[]) throws MyException{
int x,y;
Scanner s=new Scanner(System.in);
System.out.print("請輸入分子");
x=s.nextInt();
System.out.print("請輸入分母");
y=s.nextInt();
if(y==0)
throw new MyException("分母禁止為0");
System.out.println("答案為: "+(x/y));
}
}
class MyException extends Exception{
MyException(String str){
super(str);
}
}
複製代碼
作者:
黃璽安
時間:
2016-6-17 20:42
import java.util.Scanner;
public class Ch54
{
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);
}
}
複製代碼
作者:
李知易
時間:
2016-6-17 20:44
import java.util.Scanner;
public class Ch51
{
public static void main(String args[])throws MyException
{
float x=0, y=0;
Scanner s=new Scanner(System.in);
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);
}
}
複製代碼
作者:
曾挺桂
時間:
2016-6-17 20:47
本帖最後由 曾挺桂 於 2016-6-17 20:59 編輯
import java.util.Scanner;
public class Ch52
{
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("0!!!!!!!!!!!!");
System.out.println(x+"/"+y+"="+(x/y));
}
}
class MyException extends Exception
{
MyException(String str)
{
super(str);
}
}
class MyException extends Exception
{
MyException(String str)
{
supert(str)
}
}[/code]
作者:
陳思惟
時間:
2016-6-24 20:30
import java.util.Scanner;
public class Ch53
{
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);
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2