//自定义异常需要继承一个表示异常的父类,因为异常类和异常对象都被抛出,
//而只有Throwable体系中特有的。所以只有这个体系中的类和对象才可以被throws和throw操作,
//Exception是Throwable的子类
class MyException extends Exception
{
//自定义异常信息
Exception(String message)
{
super(message);//调用父类的构造函数
}
}
class Demo
{
int method(int x, int y) throws MyException//出现throw,在函数上声明
{
在需要进行自定义异常抛出的地方进行判断
if(x < 0)
throw new MyException("这里写显示的异常信息");//手动通过throw关键字抛出一个自定义异常对象
return x/y;
}
}
class ExceptionTest
{
//当函数内部出现了throw抛出异常对象,那么要么在内部使用try catch处理,
//要么在函数上声明,让调用者处理
public statc void main(String[] args)
{
Demo demo = new Demo();
try
{
int x = demo.method(4,1);
}
catch(MyException e)
{
System.out.println(e.toString());
}
}
}
throw和throws区别:
throws使用在函数上,用来抛出异常
throw用在函数内,自定义函数时使用throw new MyException(); 抛出自定义异常
throws后面可以跟多个异常类,用,号隔开
throw后面跟异常对象