日期:2014-05-20  浏览次数:20728 次

自定义异常类中传入Throwable类型和对象 String类型对象有什么区别
public class MyException extends Exception {
 
 public MyException(String a){
 super(a);
 }
 
 public MyException(Throwable b){
 super(b);
 }
 
 public MyException(String a,Throwable b){
 super(a,b);
 }
 
 }
 
这三个有什么区别,当我在上级抛出异常时如何确定它是传到这三这里面哪一个呢??
比如我用throw new MyException("输入错误!");这是用的public MyException(String a)
 那我要用public MyException(Throwable b)和public MyException(String a,Throwable b)这个呢?应该怎么写
------最佳解决方案--------------------

try {
   // TODO
} catch (Throwable t) {
   throw new MyException(t);
   // or throw new MyException(t.getMessage(), t);
}
 
------其他解决方案--------------------
public MyException(Throwable b)   这个输入参数是继承Throwable类的子类都可以
和public MyException(String a,Throwable b) 这个就是两个参数了,第一个字符,第二个Throwable对象
------其他解决方案--------------------
“public MyException(String a,Throwable b) 这个就是两个参数了,第一个字符,第二个Throwable对象”这个是不是就是说我传参数的时候如果是public MyException(“数据有误”, b)  其中b是通过catch (Throwable b) 传来的  这样就是调用的public MyException(String a,Throwable b) 么?
------其他解决方案--------------------
引用:
public MyException(Throwable b)   这个输入参数是继承Throwable类的子类都可以
和public MyException(String a,Throwable b) 这个就是两个参数了,第一个字符,第二个Throwable对象


“public MyException(String a,Throwable b) 这个就是两个参数了,第一个字符,第二个Throwable对象”这个是不是就是说我传参数的时候如果是public MyException(“数据有误”, b)  其中b是通过catch (Throwable b) 传来的  这样就是调用的public MyException(String a,Throwable b) 么?
------其他解决方案--------------------
引用:
Java code?123456try {   // TODO} catch (Throwable t) {   throw new MyException(t);   // or throw new MyException(t.getMessage(), t);}


  谢谢了哈,刚直接看下面的回复去了,没看到你的回复  知道了