//长期笔记,不定时更新,有错误或不足,敬请斧正,谢谢
1.自定义异常的时候,构造函数带参数和不带参数,以及printStackTrace()带不带参数的区别
在java编程思想(第四版) (thinking in java, fourth edition)给出的一个例子
//FullConstructors.java
class MyException extends Exception{
public MyException(){}
public MyException(String msg){ super(msg);}
}
public class FullConstructors{
public static void f() throws MyException{
System.out.println("throwing exception from f()");
throw new MyException();
}
public static void g() throws MyException{
System.out.println("throwing exception from g()");
throw new MyException("Originated in g()");
}
public static void main(String[] args) {
try{
f();
}catch(MyException e){
e.printStackTrace(System.out);
}
try{
g();
}catch(MyException e){
e.printStackTrace(System.out);
}
}
}
输出
可见 字符串参数到了MyException后面,书上还提到printStackTrace()默认是标准错误输出,通过System.out的参数,到了标准输出