public void divide(int one,int two) throws Exception{ if(two==0) throw new Exception("两数相除,除数不能为0."); else System.out.println("两数相除结果为:"+one/two); } public void computer(){ try{ divide(5,0); }catch(Exception e){ System.out.println(e.getMessage()); }finally{ System.out.println("Happy New Year!"); } } public static void main(String[] args){ BlueException be=new BlueException(); be.computer(); } 这一段catch(Exception e){ System.out.println(e.getMessage()); }没有运行,怎么回事呢?
public class ExceptionTest {
public void divide(int one,int two) throws Exception{
if(two==0)
throw new Exception("两数相除,除数不能为0.");
else
System.out.println("两数相除结果为:"+one/two);
}
public void computer(){
try{
divide(5,0);
}catch(Exception e){
System.out.println("出现异常了"+e.getMessage());
}finally{
System.out.println("Happy New Year!");
}
}
public static void main(String[] args){
ExceptionTest be=new ExceptionTest();
be.computer();
}
}
//运行结果:出现异常了 两数相除,除数不能为0.
// Happy New Year!
这是我用你的程序试了一下,你所说的部分运行了 ,我觉过程应该是divide函数抛出异常,然后computer()函数进行捕捉 打印e.getMessage()也就是异常信息,因为你是直接输出e.getMessage() 所以和你divide函数内写的异常信一样,你误以为是
catch(Exception e){
System.out.println(e.getMessage());
}没有运行
System.out.println("出现异常了"+e.getMessage()); 这句代码中e.getMessage()是啥意思啊 没看懂
至于意义我也不是理解的很透彻 我也是初学者 我觉得只能在以后的实际项目中具体理解了。