我想执行throw 里的异常处理,怎么没有执行,显示结果是
Exception in thread "main" java.lang.ArithmeticException: / by zero
at Int.main(Int.java:9)
我对异常进行了处理啊,怎么没有效果呢,盼回复,谢谢~
代码如下:Int.java
public class Int {
public static void main(String[] args) throws MissException
{   int i=10;
     int j=10;
  if(i==j/0){
  throw new MissException();
}
System.out.println("总得执行");
}
}MissException .javapublic class MissException extends Exception {
public MissException(){
  System.out .println("有错误了");
}

解决方案 »

  1.   

    你把它都throws出去了,当然看不到了。你要用Try catch捕捉一下。就能看到效果了。
      

  2.   

    异常要么抛出,要么捕获,但是到了调用栈的栈底,也就是main方法,还不捕获的话,就会抛出上面的显示,而且你用j/0,这是个编译器不会检查的异常,就是书上说的unchecked异常,运行是会出错,这种异常属于程序编写错误,原则上是要改正的按照你的思路:
    自己定义一个异常类,写一个方法在Int中,try {....
    } catch(MissException e)
    {
       e.定义的方法;
    }类名还起成Int 不太好
      

  3.   

    异常要么抛出,要么捕获,但是到了调用栈的栈底,也就是main方法,还不捕获的话,就会抛出上面的显示,而且你用j/0,这是个编译器不会检查的异常,就是书上说的unchecked异常,运行是会出错,这种异常属于程序编写错误,原则上是要改正的按照你的思路:
    自己定义一个异常类,写一个方法在Int中,try {....
    } catch(MissException e)
    {
       e.定义的方法;
    }类名还起成Int 不太好
      

  4.   

    把你的main方法改一下:public static void main(String[] args) //不要throw,你都throw了,还怎么捕捉处理啊?       throws MissException 
    try{  
        int i=10; 
        int j=10; 
        if(i==j/0){ 
           throw new MissException(); 
    }catch(Exception e){
    System.out.println("Oh!Yeah!总算抓到了"); 

    finally{
    System.out.println("总得执行"); 


      

  5.   


    public class Test { 
    public static void main(String[] args) {       int i=10; 
         int j=10; 
      try{
      i = j/0;
       }catch(ArithmeticException e){
          
       System.out.println("出错了"); 
         } 
       } 
    }
    这样不就可以了啊,不要用throws
    尽量不要对main方法用throws