异常知识点:
- 错误:
- Throwable 可抛出
- |
- |
- ----Error 不可恢复
- |
- |
- ----Exception 经过处理后可以继续运行
- |
- |
- ----CheckedException
- |
- |
- ----RuntimeException
- 运行时异常:通过合法性判断可以排除此类问题
- 检查异常: 语法强制必须try catch,提高代码健壮性。
- 常见的异常
- NullpointException 使用没有初始化的引用类型对象
- ArrayIndexOutOfBoundsException 数组下标不合法
- IndexOutOfBoundsException 集合索引错误
- StringIndexOutOfBoundsException 字符串索引错误
- ArithmeticException 除数为0
- 父类子类方法重写中,异常要注意:
- 1) 子类方法抛出的异常范围不能超出父类方法
- 2) 子类方法抛出异常的个数不能大于父类
- 3) 子类方法可以不抛出异常
建个自定义异常类,继承和重写
- public class DivideException extends Exception
- {
- public DivideException()
- {
- }
- public DivideException(String message)//重写方法Exception(String message)
- {
- super(message);
- }
- }
方法throws自定义异常
- public class Divide
- {
- public static void main(String[] args)
- {
- Divide d = new Divide();
- try
- {
- d.divide(5, 0);
- }
- catch (DivideException e)
- {
- e.printStackTrace();
- }
- }
- public double divide(int i, int j) throws DivideException //方法throws异常
- {
- if (j == 0)
- {
- throw new DivideException("除数不能为0!");//异常时throw提示语句
- }
- else
- {
- double k = i / j;
- return k;
- }
- }
- }