处理异常

java程序设计中, 异常对象都是派生于Throwable类的一个实例, 如果java中内置的异常类不能够满足要求, 用户可以自己创建自己的异常类.

11 异常, 日志, 断言和调试

Error 类层次结构描述了java运行时系统的内部错误和资源耗尽错误. 应用程序不应该抛出这种类型的对象, 如果出现了内部错误, 除了通知用户, 并尽力使程序安全地终止之外, 也没无能为力了, 这种情况很少出现.

需要主要关注的是 Exception层次结构, 这个层次结构分为两个分支: 有程序错误导致的异常属于 RuntimeException, 另外的属于另一个分支, 类似 IOException

RuntimeException: 例如 错误类型转换, 数组访问越界, 访问空指针 等等

如果出现 RuntimeException, 那肯定是你的问题, 应该检查程序, 例如数组越界等等.

IOException: 例如: 试图在文件尾部后面读取文件, 试图打开一个错误格式的URL, 试图根据给定的字符串查找Class对象, 而这个字符串表示的类并不存在.

IOException: 使用判断和try catch来进行处理, 比如错误格式的URL, 在使用之前, 你要首先判断这个格式是否符合URL规则.

如果遇到了无法处理的情况, 那么java的方法可以抛出一个异常. 例如: public FileInputStream(String name) throws FileNotFoundException

java语言规范将派生于Error类或RuntimeException类的所有异常称为未检查异常, 所有其他的异常称为已检查异常.

public Image loadImage(String s) throws EOFException, MalFormedURLException ( 抛出多个异常 )

Public String readData(Scanner in) throws EOFException {
    while () {
        if (!in.hasNext()) {
            if (n < len) throw new EOFException();
        }
    }
}
View Code

相关文章: