异常

1.分为两类:
(1)error:java出现的严重问题,如:jvm系统内部异常。比如:StackOverflowError栈溢出和OutOfMemoryError堆溢出
(2)Exception:
|----编译时异常(checked)
|-----IOException
|------FileNotFoundException
|-----ClassNotFoundException
|----运行时异常(unchecked,RuntimeException)
|------NullPointerException
|------ArrayIndexOutOfBoundsException
|------ClassCastException
|------NumberFormatException
|------InputMismatchException
|------ArithmeticException
2.异常处理方式:
异常处理:抛抓模型
抛:程序正常执行过程中,在异常代码处生成对应的异常类对象,并抛出,且其后的代码都不再执行
抓:即异常处理方式
(1)try-catch-finally:真正将异常处理掉
(2)throws+异常类型:只是将异常抛给方法的调用者,并没有真正将异常处理掉
3.开发中如何选择使用一场处理方式
(1)若父类中被重写的方法中没有throws方式处理异常,则子类重写方法也不能使用throws,即若子类重写的方法中有异常,则必须使用try-catch-finally方式处理
(2)执行方法A中,先后又调用了另外几个方法且方法是递进关系执行的,则递进关系的方法使用throws处理,而执行的方法A使用try-catch-finally方式处理
4.异常对象的产生:(1)系统自动生成的异常对象(2)手动生成的异常对象,并抛出(throw)
5.自定义异常
(1)继承现有的结构:RuntimeException、Exception
(2)提供全局常量:serialVersionUID
(3)提供重载的构造器

你可能感兴趣的:(异常)