/*
自定义异常:为了解决自己所写程序中的错误
*/
class FuShuException extends Exception//自定义异常,并继承父类Exception进入异常体系,建立这个类
// 的目的是为了生成对象
{
}
class Demo
{
int div(int a,int b)throws Exception//一般函数内出现异常,函数上需要给出声明,即1处出现了异常
//这里要给出声明
{
if(a<0)
throw new FuShuException();//1处,因为我们自己定义的异常java虚拟机是不识别的,所
//以通过throw关键字进行抛出,也叫手动抛出
return a/b;
}
}
class ExceptionDemo
{
public static void main(String[] args)throws Exception//此处加上的时候将异常问题抛给了虚拟机
{
Demo d=new Demo();
int x=d.div(-4,1);
System.out.println("x="+x);
System.out.println("over");
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/*
自定义异常,这里是异常两种解决办法中的捕获方法,上面为声明方法
*/
class FuShuException extends Exception
{
}
class Demo
{
int div(int a,int b)throws FuShuException
{
if(a<0)
throw new FuShuException();
return a/b;
}
}
class ExceptionDemo
{
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());//注意结果中没有打印e.toString()内容,因为自定义异常
//中没有定义异常信息
}
System.out.println("over");
}
}
程序结果:
FuShuException
over
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|