Java中常见的Exceptions
2015-11-29 23:43
211 查看
Java代码实现中经常会碰到异常需要抛出来,我们一起了解一下常见的异常信息:
Throwable
Exception
Error
RuntimeException
ClassNotFoundException
IOException
SQLException
IndexOutOfBoundsException
ClassCastException
NullPointerException
OutOfMemoryError
StackOverflowError
NoClassDefFoundError
Java采用违例(Exception)处理机制来进行错误处理。 违例机制的一个好处就是能够简化错误控制代码, 我们再也不用检查一个特定的错误, 然后在程序的多处地方对其进行控制。 此外, 也不需要在方法调用的时候检查错误(因为保证有人能够捕获这里的错误)。 我们只需要在一个地方处理问题:”违例控制模块”或者”违例控制器”。 这样可有效减少代码量, 并将那些用于描述具体操作的代码与专门纠正错误的代码分隔开。
一个完整的违例例子:
Throwable是所有违例的基类, 它有两种常规类型。 其中, Error代表编绎期和系统错误, 我们一般不必特意捕获它们。Exception是可以从任何标准Java库的类方法中掷出的基本类型。看上面看, 如果是Error的子类或是RuntimeException的子类这种违例有一定的特殊性, 可以说我们可以当它们不存在, 当这种违例抛出的时候, 我们可以不catch它, 也可以不在方法上throws它。 RuntimeException一般代表的是一个编程错误, 是完全可以避免的。
总结:因为使用了Exception之后是要影响一些效率的, 所以Exception不能滥用。一般的不要用Exception来控制业务流程, 其次不要循环体内使用。我们可以从Exception或直接从Throwable继承写我们自己的Exception, 然后根据业务需要抛不同种类的Exception。
以上总结来源网络...
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。
以上总结来源网络...
相关文章推荐
- 使用RxJava 提升用户体验
- 新Java运动:测试驱动开发3---用户注册3
- 新Java运动:测试驱动开发3---用户注册2
- java中遍历MAP的几种方法
- 新Java运动:测试驱动开发3---用户注册
- 对象的上转型对象,接口回调
- Java多态性理解
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java文件下载空格变加号处理
- Java中的file文件类
- java基础知识(一)--多态
- Spring MVC学习(五)---ModelAndView没有明显申明name
- javaSE(12)(集合大总结)
- Java记录 -89- java.lang.Class
- 深入剖析Java中的装箱和拆箱
- LeetCode 9 : Palindrome Number (Java)
- Java 容器学习
- java基础之序列化
- 从头认识java-10.7 使用异常的限制汇总
- Java中一些常用的正则表达式