简介
异常指程序运行中出现的不期而至的各种状况。如文件找不到,网络连接失败,非法参数。
分类
检查性异常
CheckedException: 通常在编译时被发现,此类异常,要么通过throws进行声明抛出,要么通过try-catch进行捕获处理,否则不能通过编译。
- IOException
- FileNotFoundException
- SQLException
运行时异常
RuntimeException:一般由程序逻辑错误引起
- ArrayIndexoutOfBoundsException(数组下标越界)
- NullPointerException(空指针异常)
- ArithmeticException(算数异常)
- MissingResourceException(丢失资源)
- ClassNotFoundException(找不到类)
错误
ERROR: java运行时系统的内部错误和资源耗尽错误。应用程序不会抛出该类对象。如果出现了这样的错误,除了告知用户,剩下的就是尽力使程序安全的终止。
异常处理(捕获异常)
如果不处理,程序会终止,并且在控制台打印消息,包括这个异常的类型和堆栈轨迹。
try catch finally throw throws
- 处理运行时异常时,合理规避同时辅助try-catch处理
- 在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常。
- 对于不确定的代码,加上try-catch,处理潜在异常
- 尽量去处理异常而不知仅仅是报错(在catch块中处理,减少损失)
- 尽量添加finally块去释放占用的资源(如IO)