以下内容若有误,欢迎私信我或在下方留言,谢谢^_−
目录
异常机制
1.异常的概念
什么是异常?百度百科是这么说的,异常指的是在程序运行过程中发生的异常事件,通常是由外部问题(如硬件错误、输入错误)所导致的。在Java等面向对象的编程语言中异常属于对象。
通俗地理解,就是当程序读取数据库数据时,数据是空的;程序要打开某个文件时,文件不存在或是文件格式不对;当访问数组时,访问的位置超过数组长度……这些所产生的问题,都称为异常(Exception)。
2.分类
(1)Error
Error是“错误”的意思,表示严重的问题,合理的应用程序不应该试图捕获。比如硬件问题、内存资源不足等。
(2)RuntimeException
RuntimeException是“运行时异常”的意思,是指在编译期间不进行检查,但出现问题后就需要去修改代码。
(3)非RuntimeException
非RuntimeException是指非运行时异常,也有称为检查时异常,即程序在编译期间就必须处理的异常,否则程序将无法通过编译,更无法正常运行。
3.异常体系结构
(1)Error
- VirtualMachineError:表示Java虚拟机已损坏或已耗尽资源以使其继续运行。
- StackOverFlowError:表示堆栈大小超过内存分配的限制。
- OutOfMemoryError:表示Java虚拟机由于内存不足而无法分配对象,且垃圾收集器不再有可用的内存。
- AWTError:表示出现了严重的抽象窗口工具包错误。
(2)Exception
- IOException:表示输入输出异常,可能是由失败或中断的I / O操作产生的。
- EOFException:表示在输入过程中意外地到达文件结束或流结束。许多其他输入操作在流的末尾返回特殊值,而不是抛出异常。
- FileNotFoundException:表示通过指定路径找不到文件。
- RuntimeException
- ArithmeticException:表示算术异常,比如“1/0”则会抛出该异常。
- MissingResourceException:表示资源丢失。
- ClassNotFoundException:表示应用程序尝试通过其字符串名称加载到类。也就是找不到类包,一般原因是没有导包或者导包不完整。
- NullPointerException:表示空指针异常,即空引用,引用本身为空,却调用了方法。
- IllegalArgumentException:表示传递了非法参数。
- ArrayIndexOutOfBoundsException:表示使用非法索引访问数组,索引为负数或大于或等于数组大小。
4.基本框架
/*
处理异常的基本框架
*/
try { // 监控区域
// 可能发送异常的语句
} catch (Exception e) { // 捕获异常,Exception可以是其它类型的异常
e.printStackTrace(); // 向控制台打印异常信息
} finally { // 善后处理,无论是否发生异常,都会执行
// IO流中可以用于释放资源
}
【程序员养成之路】Java基础篇 2-初学Java必知的基础语法
【程序员养成之路】Java基础篇 3-反手就能写个冒泡排序的数组
【程序员养成之路】Java基础篇 7-流进流出的IO流(一)
【程序员养成之路】Java基础篇 8-流进流出的IO流(二)
【程序员养成之路】Java基础篇 9-认识一下类加载器与反射