導航:首頁 > 編程語言 > 在java中自定義異常

在java中自定義異常

發布時間:2022-10-26 01:14:31

java中如何使用自定義異常

class NotScoreException extends Exception
{
public NotScoreException()
{
super();
}
public NotScoreException(String message)
{
super(message);
}
}
public class MyExceptionTest
{
public static String getGrade(double score)throws NotScoreException
{
if(score<=100&&score>=60)
{
return "及格";
}
else if(score<60&&score>=0)
{
return "不及格";
}
else
{
throw new NotScoreException("輸入成績有誤");
}
}
public static void main(String[] args)
{
try
{
System.out.println("75分的等級為:"+getGrade(75));
System.out.println("105分的等級為:"+getGrade(105));
}
catch (NotScoreException e)
{
System.out.println("發生自定義異常,異常信息為:"+e.
getMessage
());
}
}
}

⑵ java中如何創建自定義異常


{
publicMyException()
{
super();
}
publicMyException(Stringmessage)
{
super(message);
}
publicstaticvoidmain(String[]args)
{
MyExceptionme=newMyException("自定義異常");
System.out.println("異常信息為:"+me.getMessage());
}
}

⑶ 關於java自定義異常類的一個代碼

1 程序中的異常指不期而至的各種狀況,如:文件找不到、網路連接失敗、非法參數等。異常是一個事件,它發生在程序運行期間,干擾了正常的指令流程。Java通 過API中Throwable類的眾多子類描述各種不同的異常。因而,Java異常都是對象,是Throwable子類的實例,描述了出現在一段編碼中的 錯誤條件。當條件生成時,錯誤將引發異常。

Java異常類層次結構圖:

{
=1L;

publicMyException(){
super();
}

publicMyException(Stringmsg){
super(msg);
}
}

使用的話就不演示了 如果你已經研究到了自定義異常 那麼我相信你也一定會使用了

如果不會使用 建議學會使用後再來看這篇文章

⑷ 在JAVA中如何創建一個自定義異常

自定義異常類型是從Exception類中派生的,所以要使用下面的聲明語句來創建:
<class><自定義異常名><extends><Exception>{...}

⑸ java自定義異常類

編寫自定義異常類實際上是繼承一個API標准異常類,用新定義的異常處理信息覆蓋原有信息的過程。常用的編寫自定義異常類的模式如下:
public class CustomException extends Exception { //或者繼承任何標准異常類
public CustomException() {} //用來創建無參數對象
public CustomException(String message) { //用來創建指定參數對象
super(message); //調用超類構造器
}
}
當然也可選用Throwable作為超類。其中無參數構造器為創建預設參數對象提供了方便。第二個構造器將在創建這個異常對象時提供描述這個異常信息的字元串,通過調用超類構造器向上傳遞給超類,對超類中的toString()方法中返回的原有信息進行覆蓋。
來討論一個具體例子。假設程序中需要驗證用戶輸入的表示年齡的數據必須是正整數值。我們可以按照以上模式編寫這個自定義異常類如下:
public class NegativeAgeException extends Exception {
//或者:extends Throwable
public NegativeAgeException() {}
public NegativeAgeException(String message) {
super(message);
}
}
下面是應用這個自定義異常類的例子:
try{
String ageString = JOptionPane.showInputDialog("Enter your age: ");
if (Integer.parseInt(ageString) < 0)
throw new NegativeAgeException("Please enter a positive age");
else
JOptionPane.showMessageDialog(null, ageString, "Age", 1);
}
catch(NegativeAgeException e){
System.out.println(e);
}

⑹ JAVA 自定義異常是怎麼使用的

throws是用來聲明一個方法可能拋出的所有異常信息
throw則是指拋出的一個具體的異常類型。
通常在一個方法(類)的聲明處通過throws聲明方法(類)可能拋出的異常信息,而在方法(類)內部通過throw聲明一個具體的異常信息。
throws通常不用顯示的捕獲異常,可由系統自動將所有捕獲的異常信息拋給上級方法;
throw則需要用戶自己捕獲相關的異常,而後在對其進行相關包裝,最後在將包裝後的異常信息拋出。

⑺ java 自定義異常

自定義異常類(比如:AgeException),繼承RuntimeException,重寫構造方法。使用的時候,直接拋出自定義異常即可。throws new AgeException("age error")

⑻ java如何自定義一個可捕獲的異常

1)先定義一個類繼承Exception(或者別的RuntimeException等);

2)然後寫個方法可能拋出這個異常,並且什麼情況下會拋出異常;

3)調用這個方法,寫try,catch語句,捕獲這個異常;

小例子,你參考看下:

{
publicUserNotFoundException(){}

publicUserNotFoundException(Stringmessage){
super(message);
}
publicvoidf()throwsUserNotFoundException{
thrownewUserNotFoundException("用戶名不對");
}

}

publicclassException{
publicstaticvoidmain(Stringargs[]){
try{
newUserNotFoundException().f();
}catch(UserNotFoundExceptione){
System.out.println(e.getMessage());
}
}
}

⑼ java中自定義異常為何要繼承exception類

java.lang.Exception類是Java中所有異常的直接或間接父類。即Exception類是所有異常的根類。
1、異常的分類:
① 非運行時異常(Checked Exception)
② 運行時異常(Runtime Exception/Unchecked Exception)

public class Exception
extends Throwable
Exception 類及其子類是 Throwable 的一種形式,它指出了合理的應用程序想要捕獲的條件。
public class RuntimeException
extends Exception
RuntimeException 是那些可能在 Java 虛擬機正常運行期間拋出的異常的超類。
可能在執行方法期間拋出但未被捕獲的 RuntimeException 的任何子類都無需在 throws 子句中進行聲明。
a) RuntimeException類直接繼承自Exception類,稱為運行時異常。Java中所有的運行時異常都直接或間接的繼承自RuntimeException.
Java中所有的異常類都直接或間接的繼承自Exception。
2、異常的處理:
對應非運行時異常,必須對其進行處理。處理方式有兩種:
使用try…catch…finally語句塊進行捕獲
在產生異常的方法所在的方法聲明throws Exception
對於運行時異常,可以不對其進行處理,也可以對其進行處理。一般情況下都不對其進行處理。
3、捕獲異常:
try {
FileInputStream fs = new FileInputStream("D:/temp/a.txt");
} catch (FileNotFoundException e) {
System.out.println("catch...");
e.printStackTrace();
} finally{
System.out.println("finally...");
}

4、拋出和捕獲異常:
4.1、把異常交給JVM處理:
public class ExceptionTest {

public static void execute() throws Exception {
System.out.println("execute...");
throw new Exception();
}

public static void main(String[] args) throws Exception {
execute();
}
}

4.2、或者使用try catch語句塊捕獲異常:
public class ExceptionTest {

public static void execute() throws Exception {
System.out.println("execute...");
throw new Exception();
}

public static void main(String[] args) {
try {
execute();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}

5、自定義異常:
自定義異常通常是定義一個繼承自Exception類的子類。一般情況下我們都會直接繼承自Exception類,而不會繼承某個運行時的異常類。
5.1、創建自定義異常:
public class MyException extends Exception{
public MyException(){
super();
}
public MyException(String msg){
super(msg);
}
}

5.2、在類中使用異常:
public class ExceptionTest {

public static void execute(String a) throws MyException {
System.out.println("execute...");
if("true".equals(a)){
throw new MyException("參數不能為 true");
}
}
}

5.3、捕獲自定義異常:
public static void main(String[] args) throws MyException {

execute("true");
}

6、異常使用注意事項:
當使用多個catch語句塊來捕獲異常時,需要將父類的catch語句塊放到子類型的catch塊之後,這樣才能保證後續的catch可能被執行,否則子類型的catch將永遠無法到達,Java編譯器會報編譯錯誤。
如果try語句塊中存在return語句,那麼首先會執行finally語句塊中的代碼,然後才返回。
如果try語句塊中存在System.exit(0)語句,那麼久不會執行finally語句塊的代碼了,因為System.exit(0)會終止當前運行的JVM。程序在JVM終止前結束執行。

閱讀全文

與在java中自定義異常相關的資料

熱點內容
皓強工具解壓步驟 瀏覽:690
部隊抗洪搶險命令範文 瀏覽:888
歐姆龍plc編程軟體使用教程 瀏覽:594
ai文件pdf 瀏覽:911
騰訊雲伺服器掛載混合雲 瀏覽:758
智能小車用什麼單片機 瀏覽:463
java怎麼給窗口關閉 瀏覽:940
列舉51單片機的定址方式 瀏覽:706
剪輯app怎麼寫長篇文字 瀏覽:400
app專屬流量過月租怎麼不更新 瀏覽:654
王者程序員都有誰 瀏覽:76
給牛換腳掌解壓 瀏覽:387
圍棋有多少種演算法 瀏覽:602
unity資源包在哪個文件夾 瀏覽:704
阿里雲伺服器遠程鏈接不成功 瀏覽:482
文件系統pdf 瀏覽:768
原神安卓區服什麼意思 瀏覽:38
貝殼app怎麼線上發布 瀏覽:161
如何挑選安卓系統機頂盒 瀏覽:55
安卓快充使用有什麼注意事項 瀏覽:911