黑马程序员技术交流社区
标题:
这是一个有关自定义异常的,看不懂!求大神帮忙!
[打印本页]
作者:
黑马-幻灭
时间:
2014-4-17 11:32
标题:
这是一个有关自定义异常的,看不懂!求大神帮忙!
本帖最后由 黑马-幻灭 于 2014-4-17 21:11 编辑
class FuShuException extends Exception
{
private int value;
FuShuException(String msg,int value)
{
super(msg);
this.value=value;
}
public int getvalue()
{
return value;
}
}
class Demo
{
int div(int a,int b)throws FuShuException
{
if(b<0)
throw new FuShuException("出现了除数为负数的情况!",b); //手动通过throw关键字抛出一个自定义异常对象
return a/b;
}
}
class FuShu
{
public static void main(String args[])
{
Demo d=new Demo();
try
{
int x=d.div(4,-1);
System.out.println("x=="+x);
}
catch(FuShuException e)
{
System.out.println(e.toString());
System.out.println("错误的负数是:"+e.getvalue());
// System.out.println("出现负数了!");
}
System.out.println("over");
}
}
怎么理解???
作者:
清风有意
时间:
2014-4-17 12:02
不知道有没有帮助
package exercise;
class FuShuException extends Exception//自定义异常必须是在Throwable这个体系中,才可以try和throw
{
private int value;//定义这个变量是为了获取负数是多少。
FuShuException(String msg,int value)
{
super(msg);//子类的空构造方法默认第一行是super()。
//这里定义了有参的构造方法,所以所以没有无参的构造方法。
//必须有一个构造方法访问父类,这是继承的特性。
this.value=value;//将负数b传递给形参value,value再传递给本类的成员变量this.value,方便在别的方法中调用。
}
public int getvalue()//通过这个方法调用负数。
{
return value;
}
}
class Demo
{
int div(int a,int b)throws FuShuException//当异常不是RunTimeException的子类时,
//内部没有try catch的话必须声明异常,就是throws抛出异常。
{
if(b<0)
throw new FuShuException("出现了除数为负数的情况!",b); //手动通过throw关键字抛出一个自定义异常对象
return a/b;
}
}
public class FuShu
{
public static void main(String args[])
{
Demo d=new Demo();
try//try中存放的是有可能出现异常的代码
{
int x=d.div(4,-1);
System.out.println("x=="+x);
}
catch(FuShuException e)//catch是处理出现的对应的异常。
{
System.out.println(e.toString());
System.out.println("错误的负数是:"+e.getvalue());
// System.out.println("出现负数了!");
}
System.out.println("over");
}
}
复制代码
作者:
黑马-幻灭
时间:
2014-4-17 21:11
清风有意 发表于 2014-4-17 12:02
不知道有没有帮助
兄弟 谢了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2