今天把异常补发一下,这应该是上周的一篇!
什么是异常:
异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序!
Java编程语言使用异常处理机制为程序提供了错误处理的能力
异常分为Checked异常和运行时异常
Checked异常必须捕获或者声明抛出
运行时异常不要求必须捕获或者声明抛出
常见异常
算数异常:ArithemeticException
输入不匹配:InputMismatchException
类型转换异常:ClassCastException
数组下标越界异常:ArrayIndexOutOfBoundsException
空指针异常:NullPointerException
非法参数异常:IllegalArgumentsException
下标越界异常:IndexOutofBoundsException
文件未找到异常:FileNotFoundException
输入输出异常:IOException
数据库异常:SQLException
数值格式化异常:NumberFormatException
算数异常:ArithemeticException
输入不匹配:InputMismatchException
类型转换异常:ClassCastException
数组下标越界异常:ArrayIndexOutOfBoundsException
空指针异常:NullPointerException
非法参数异常:IllegalArgumentsException
下标越界异常:IndexOutofBoundsException
文件未找到异常:FileNotFoundException
输入输出异常:IOException
数据库异常:SQLException
数值格式化异常:NumberFormatException
Java中如何进行异常处理:
Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws
使用try-catch块捕获异常,分为三种情况:
try-catch-finally
finally和return
在无返回值方法中,return会在对finally的访问后执行
在有返回值的方法中,如果finally中有return 值,那么一定会执行finally的return;
如果finally中没有return,也在return后再访问finally
多重catch块
throw与throws
除了系统自动抛出异常外,有些问题需要程序员自行抛出异常
throw用来生成异常对象,一般要与throws搭配用
throws用来声明异常类型
自定义异常
当JDK 中的异常类型不能满足程序的需要时,可以自定义异常类
先继承已知的异常类型,一般是Exception或RuntimeException
然后用super引用父类的有参构造(String message)
然后用超级引用父类的有参构造(字符串消息)