您的位置:首页 > 编程语言 > Java开发

Java中常见的Exceptions

2015-11-29 23:43 211 查看
       Java代码实现中经常会碰到异常需要抛出来,我们一起了解一下常见的异常信息:

Throwable
Exception
Error
RuntimeException
ClassNotFoundException
IOException
SQLException
IndexOutOfBoundsException
ClassCastException
NullPointerException
OutOfMemoryError
StackOverflowError
NoClassDefFoundError
        Java采用违例(Exception)处理机制来进行错误处理。 违例机制的一个好处就是能够简化错误控制代码, 我们再也不用检查一个特定的错误, 然后在程序的多处地方对其进行控制。 此外, 也不需要在方法调用的时候检查错误(因为保证有人能够捕获这里的错误)。 我们只需要在一个地方处理问题:”违例控制模块”或者”违例控制器”。 这样可有效减少代码量, 并将那些用于描述具体操作的代码与专门纠正错误的代码分隔开。

一个完整的违例例子:
public void throwTest() throws MyException {
try {
...
} catch (SQLException se) {
cat.error("", se);
throw new MyException(se.getMessage());
} catch (Exception e) {
cat.error("", e);
} finally {
...
}
}
        如果一段代码有可能会抛出违例可以用try {} catch {}来处理。 被catch到的违例可以再抛出, 也可以转换为其它类型的Exception抛出。 finally块里面的代码总会被执行到的, 不管前面是否已经throw或return了。

        Throwable是所有违例的基类, 它有两种常规类型。 其中, Error代表编绎期和系统错误, 我们一般不必特意捕获它们。Exception是可以从任何标准Java库的类方法中掷出的基本类型。看上面看, 如果是Error的子类或是RuntimeException的子类这种违例有一定的特殊性, 可以说我们可以当它们不存在, 当这种违例抛出的时候, 我们可以不catch它, 也可以不在方法上throws它。 RuntimeException一般代表的是一个编程错误, 是完全可以避免的。

总结:因为使用了Exception之后是要影响一些效率的, 所以Exception不能滥用。一般的不要用Exception来控制业务流程, 其次不要循环体内使用。我们可以从Exception或直接从Throwable继承写我们自己的Exception, 然后根据业务需要抛不同种类的Exception。

以上总结来源网络...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: