为了账号安全,请及时绑定邮箱和手机立即绑定

自定义异常的使用

package ImoocException;


public class my_Exception extends Exception {

/**

*/

private static final long serialVersionUID = 1L;

public my_Exception() {

System.out.println("使用了这个自定义的类1!");

}

public my_Exception(String str) {

super(str);

System.out.println("使用了这个自定义的类2!");

}

public void devide(int a,int b) throws Exception {

if(b==0) {

throw new my_Exception("被除数不能为0");

}

else {

System.out.println("it is ok!");

}

}

public static void main(String[] args)throws Exception {

// TODO Auto-generated method stub

ImoocException  imooc=new ImoocException ();

try {

imooc.devide(10, 0);

}

catch(my_Exception e) {

   System.out.println("异常抛出!");

}

}


}


最后结果还是出来

Exception in thread "main" java.lang.Exception

at ImoocException.ImoocException.devide(ImoocException.java:6)

at ImoocException.my_Exception.main(my_Exception.java:29)

这是怎么回事?

正在回答

2 回答

public static void main(String[] args)throws Exception 这里抛出异常  

mian方法是程序的起点  在抛出只能交给JVM处理  相当于自己没有捕获异常  没有写try---catch

0 回复 有任何疑惑可以回复我~

public static void main(String[] args)throws Exception

这里不需要抛异常了吧

public void devide(int a,int b) throws Exception 是不是要改成这样

public void devide(int a,int b) throws my_Exception


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409791    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

自定义异常的使用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信