public class One(){
public void A() throws Excepiton{
//执行某操作
...
}
}public class Two(){
public void B(){
One o=new One();
try{
o.A();
System.out.println("执行成功");
}catch(Exception e){
System.out.println("执行失败");
}
}
}现在有个问题就是执行方法B()时,如果o.A()抛出异常了,输出却仍然是:执行成功。这个是为什么?
哪位高人指点下
public void A() throws Excepiton{
//执行某操作
...
}
}public class Two(){
public void B(){
One o=new One();
try{
o.A();
System.out.println("执行成功");
}catch(Exception e){
System.out.println("执行失败");
}
}
}现在有个问题就是执行方法B()时,如果o.A()抛出异常了,输出却仍然是:执行成功。这个是为什么?
哪位高人指点下
public class One(){
public void A() throws Excepiton{
try{
//执行某操作
...
}catch(Exception ex){}
}
}
是不是因为这个呀?我A方法里已经捕获了,所以B方法里就不会再次捕获?
在A里把异常抛出来,throws,这样外面才能抓啊
public class One(){
public void A(){
try{
//执行某操作
...
}catch(Exception ex){}
}
}
A方法里只捕获,未进行处理,那么到B方法里是不是就捕获不到了呀?
然后我把A方法改成这样的,但是也不行:
public class One(){
public void A() throws Excepiton{
try{
//执行某操作
...
}catch(Exception ex){}
}
}
try{
//执行某操作
...
}catch(Exception ex){
throws e;
}
}
那么在B方法中肯定能捕获到异常了。