/**
*@author:StormMaybin
*@Date:20160427
*@<description>练习</description>
*/
/*
因为项目中会出现特有的问题而这些问题未被java所描述
所以对于这些问题进行自定义异常封装
*/
/*
当在函数内部出现了throw抛出异常对象的话,那么必须
要给对应的处理动作,要么在try catch处理,要么在函数内部
发现打印的结果只有异常的名称,却没有异常的信息
因为自定义的异常未定义信息
如何定义异常信息呢?
因为父类把异常信息的操作已经完成了,所以我们只要在构造时候将信息传递给
父类的构造函数通过super;
自定义必须是自定义类继承Exception类
继承Exception原因:
异常体系有一个特点,因为一次啊很难过类和异常对象
必须被抛出,都具有可抛性这个可抛性是Throwable这个体系
独有的特点
*/
class FushuException extends Exception
{
private int value;
FushuException (String message,int value)
{
super (message);
this.value = value;
}
public int getValue()
{
return value;
}
}
class Demo
{
int div(int a, int b) throws Exception
{
if (b < 0)
{
//手动抛出自定义异常
throw new FushuException("/ by fushu",b);
}
return a/b;
}
}
class ExceptionDemo1
{
public static void main(String[] args) throws Exception
{
Demo d = new Demo();
try
{
int x = d.div(4,-1);
System.out.println (x);
}
catch (FushuException e)
{
System.out.println (e.toString());
//System.out.println ("暂时不支持负数除法");
System.out.println("错误的负数是"+e.getValue());
}
}
}