Java中自定义异常详解及实例代码
Java中自定义异常详解及实例代码
下面做了归纳总结,欢迎批评指正
自定义异常
classChushulingExceptionextendsException
{
publicChushulingException(Stringmsg)
{
super(msg);
}
}
classChushufuExceptionextendsException
{
publicChushufuException(Stringmsg)
{
super(msg);
}
}
自定义异常End
classNumbertest
{
publicintshang(intx,inty)throwsChushulingException,ChushufuException
{
if(y<0)
{
thrownewChushufuException("您输入的是"+y+",规定除数不能为负数!");//抛出异常
}
if(y==0)
{
thrownewChushulingException("您输入的是"+y+",除数不能为0!");
}
intm=x/y;
returnm;
}
}
classRt001
{
publicstaticvoidmain(String[]args)
{
Numbertestn=newNumbertest();
//捕获异常
try
{
System.out.println("商="+n.shang(1,-3));
}
catch(ChushulingExceptionyc)
{
System.out.println(yc.getMessage());
yc.printStackTrace();
}
catch(ChushufuExceptionyx)
{
System.out.println(yx.getMessage());
yx.printStackTrace();
}
catch(Exceptiony)
{
System.out.println(y.getMessage());
y.printStackTrace();
}
finally{System.out.println("finally!");}////finally不管发没发生异常都会被执行
}
}
/*
[总结]
1.自定义异常:
class异常类名extendsException
{
public异常类名(Stringmsg)
{
super(msg);
}
}
2.标识可能抛出的异常:
throws异常类名1,异常类名2
3.捕获异常:
try{}
catch(异常类名y){}
catch(异常类名y){}
4.方法解释
getMessage()//输出异常的信息 printStackTrace()//输出导致异常更为详细的信息
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!