Throw是一個語句,用來做拋出例外的功能
阿新 • • 發佈:2018-08-05
data 出錯 ati 一個 toc 代碼 eof public assert
當我們自己定義一個例外類的時候必須使其繼承excepiton或者RuntimeException。
Throw是一個語句,用來做拋出例外的功能。
而throws是表示如果下級方法中如果有例外拋出,那麽本方法不做處理,繼續向上拋出。
Throws後跟的是例外類型。
斷言是一種調試工具(assert)
其後跟的是布爾類型的表達式,如果表達式結果為真不影響程序運行。如果為假系統出現低級錯誤,在屏幕上出現assert信息。
Assert只是用於調試。在產品編譯完成後上線assert代碼就被刪除了。
方法的覆蓋中,如果子類的方法拋出的例外是父類方法拋出的例外的父類型,那麽編譯就會出錯:子類無法覆蓋父類。
結論:子類方法不可比父類方法拋出更多的例外。子類拋出的例外或者與父類拋出的例外一致,或者是父類拋出例外的子類型。或者子類型不拋出例外。
如果父類型無throws時,子類型也不允許出現throws。此時只能使用try catch。
1 package TomTexts; 2 3 public class TomTexts_01 { 4 public static void main(String[] args) 5 { 6 String s1=new String( ); 7 char data[ ]={ ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘};8 s1=s1.copyValueOf(data); 9 System.out.println(" s1="+s1); 10 s1=s1.copyValueOf(data,2,3); 11 System.out.println(" s1="+s1); 12 s1.getChars(1,2, data,0); 13 System.out.println(" data="+new String(data)); 14 data=s1. toCharArray( ); 15 System.out.println(" data="+newString(data)); 16 String s2=new String( ); 17 String s3=new String( ); 18 s2=s1.substring(0); 19 System.out.println(" s2="+s2); 20 s3= s1.substring(1,2); 21 System.out.println(" s3="+s3); 22 } 23 24 }
Throw是一個語句,用來做拋出例外的功能