Throw是一个语句,用来做抛出例外的功能
当我们自己定义一个例外类的时候必须使其继承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="+new String(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 }