自定义异常:
定义类继承Exception或者Run timeException
1,为了让该定义具备可抛性。
2,让该类具备操作异常的共性方法。
当要定义自定义异常的信息时,可以使用父类已经定义好的功能。
异常信息传递给构造函数。
class MyException extends Exception
{
MyException (String messsage)
{
super(message);
}
}
自定义异常:按照java的面向对象思想,将程序中出现的特有问题进行封装。
_______
异常的好处
1,将问题进行封装。
2,将正常流程代码和问题处理代码相分割。方便与阅读。
异常处理的原则
1,异常处理方式有两种:try或者throws
2,调用到抛出异常的功能时,抛出几个,就处理几个
3,多个catch ,父类的catch放到最下面。
4,catch内,需要定义针对性的处理方式。 不要简单的定义printStackTrace(),输出语句。
也不要不写。
当捕获到的异常,本功能处理不了时,可以继承在catch中抛出
try
{
throw new AException();
}
catch(AException e)
{
throw e;
}
异常可以处理,当需要异常产生的和本功能相关的提供出去。
当调用者知道,并处理,也可以将捕获的异常处理后转换新的异常。
try
{
throw new AException();
}
catch
{
throw new BException();
}
比如:汇款的例子
异常的注意事项:
子类父类覆盖时
1,子类抛出的异常必须是父类异常的子类或者子集。
2,如果父类或者接口没有异常抛出时,子类覆盖出现异常,只能try不能抛。