JAVA初学者的小问题,大家帮帮忙啊

2024年11月19日 18:24
有2个网友回答
网友(1):

lz最好是把源程序贴出来看看。
是不是没有捕获异常那?还有你使用了sun不推荐使用的老版本的API,具体参考jdk吧

你试一下这样应该是可以的,在我的机器上编译通过了。

import java.lang.Exception;
class MyException extends Exception
{
public int divice(int a,int b) throws MyException
{
if (0 == b)
throw this;
else
return a/b;
}
}
class Excep
{
public static void main(String args[])
{
MyException a=new MyException();
try
{
System.out.println(a.divice(4,0));
}
catch(MyException e)
{
System.out.println("Exception!!!");
}
System.out.println("Finish!");
}
}

lz是估计想捕获一个除0的异常,有几点lz需要注意一些:
1 java中的异常只有被throw了,才能被捕获的,而在你的程序中根本就没有抛出异常
2 java中要想成为一个异常,必须继承Throwable类或其子类,而在你程序中Exception类并没有继承这些
3 一种比较好的方法是把自定义的异常单独写成一个异常类,在其它类中抛出这个异常。而直接在异常类里写一个自己的方法 如divice(int a intb)是不太好的

最后给楼主一个关于异常的网址,希望对你有所帮助http://www.xztc.cn/java/6_3.htm

网友(2):

程序中有没有判断b的取值?