導航:首頁 > 編程語言 > javaexception繼承

javaexception繼承

發布時間:2022-03-31 15:14:00

1. java A繼承了Exception 為什麼不能寫throws A

classAextendsException{
intage=-100;
voidf()throwsA//A繼承了Exception為什麼不能寫throwsA
{
if(age<0){
Aa=newA();
throwa;
}
}
}

2. java所有的異常類皆繼承哪一個類

個人認為你的答案是錯誤的,因為.java.lang.throwable是java.lang.exception的父類,所以所有的類應該都繼承了throwable個類吧。 你說的異常的類,是只能抽象類了.某子類c,父類p.如果p是普通的類,則c不必重寫p內部的方法.重寫是可選的.如果p抽象類,而c類本身不是抽象類,則必須重寫p所擁有的所有抽象方法,其中包含p實現了的介面的方法.以及p類以上所有父類的抽象方法.

3. java中,我自己創建了一個異常類(直接繼承Exception),throw 之後可以被捕獲但程序卻在繼續運行

因為被捕獲了,所以才會繼續運行。
就相當於 一個公司(一個完整的程序)中的某一個員工(一段代碼)發現了一個錯誤並處理了(顯示出來或者是丟棄了),沒有上報(沒有 throw ),公司還是會正常運行下去的。
try {
a = Motors.choseMotors(x,p.pd);
} catch (Exception e1) {
e1.printStackTrace();
throw e1;//添加上這一句試試
}
//員工上報了 throw ,公司領導知道後發現是個大問題,就會停工檢查

4. Java自定義異常,應該繼承Exception還是Runtime Exception,為什麼

runtimeException是Exception的一個子類型,自定義異常可以繼承Exception或其子類.

通常調用一下父類的構造方法。

public class MyException extends Exception {

public MyException() { super(); }

public MyException(String msg) { super(msg); }

public MyException(Throwable cause) { super(cause); }

public MyException(String msg, Throwable cause) { super(msg, cause); }

}


public String[] createArray(int length) throws MyException {

if (length < 0) {

throw new MyException("數組長度小於0,不合法");

}

return new String[length];

}

上面這個例子,你繼承RuntimeException也是沒問題的.通常繼承Exception,范圍更大.

5. java中,ParseException異常類繼承與Exception但是為什麼不在同一個包(java.lang)中

Java有規定說異常必須要放置在一個包里嗎?難道你自己定義了一個異常繼承了Exception,你還要把你自定義的異常放入到java.lang包中嗎?沒道理啊。

6. 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終止前結束執行。

7. java中自定義異常繼承了Exception,下面構造方法都是繼承了Exception嗎,可以

構造方法不存在繼承。因為Exception類共有4個構造方法,而你勾選了eclipse的來自父類的構造方法選項,因此eclipse自動為你生成4個和Exception類的構造方法參數類型相同的構造方法。

8. 關於Java自定義異常類。定義MyException繼承Exception。

你繼承了Exception,所以也繼承了Exception的toString方法啊,所以你使用的實際上是Exception的toString方法哦

閱讀全文

與javaexception繼承相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:61
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1002
命令zpa 瀏覽:285
python編譯器小程序 瀏覽:944
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:592
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:432
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:399
夢幻端游長安地圖互通源碼 瀏覽:745
電腦本地文件如何上傳伺服器 瀏覽:313