首页 / JAVA / java的错误和异常
java的错误和异常
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java的错误和异常,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2405字,纯文字阅读大概需要4分钟。
内容图文
![java的错误和异常](/upload/InfoBanner/zyjiaocheng/737/8d2adab24fae411e9e3d8fb92125b6f0.jpg)
图片来源:http://blog.csdn.net/wuwenxiang91322/article/details/10346337
java把异常当做对象来处理,并定义了一个基类java.lang.Throwable作为所有异常的超类。
1. Throwable
Throwable类是所有异常或者错误的超类,它有两个子类:Error和Exception。
2. Error
3. java异常
java提供了两种异常机制:编译时异常(RuntimeException)和运行时异常(Checked Exception)。
编译时异常(RuntimeException)是指java编译器能够检查的异常,必须对这些异常进行try catch,也就是必须声明和捕获。我们常见的IO异常和sql异常就属于编译时异常。
运行时异常(Checked Exception)是指不是功能本身导致的异常,是由于例如调用者传递参数而导致的异常,这种异常不需要声明不需要捕获,虚拟机会来接管,使程序停止让用户修改代码。
RuntimeException异常在java.lang包下,以下是常见的RuntimeException异常:
ClassCastException(类转换异常,试图将对象强制转换为不是实例的子类时,抛出该异常)
IndexOutOfBoundsException(数组越界,指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出)
NullPointerException(空指针,当应用程序试图在需要对象的地方使用 null 时,抛出该异常)
ArrayStoreException(数据存储异常,操作数组时类型不一致,试图将错误类型的对象存储到一个对象数组时抛出的异常)
BufferOverflowException(IO操作的异常)
IllegalArgumentException (抛出的异常表明向方法传递了一个不合法或不正确的参数)
4.异常的捕获和处理
java异常处理涉及到5个关键字:try、catch、finally、throw、throws。
(1)try:里面放置可能引发异常的代码。
(2)catch:对应异常类型和一个代码块,用于处理异常,可以有多个catch块。
(3)finally:主要用于回收try中打开的资源(数据库连接、网络连接、磁盘文件),异常机制总是保证finally块总是被执行。只有fianlly块执行完成以后才会来执行try或者catch块中的return或者throw等终止语句。
(4)throw:用于抛出一个实际异常,可单独作为语句使用,抛出一个具体的异常对象。
(5)throws:用在方法签名中,用于声明该方法可能抛出的异常。
5. throw和throws的区别
throw用于方法体内部,用来抛出一个Throwable异常。如果抛出了编译时异常,则还应该在方法头部声明方法可能抛出的异常类型。该方法的调用者也必须检查处理抛出的异常。如果所有方法都层层上抛获取的异常,最终JVM会处理,就是打印异常消息和堆栈信息。
throws用于方法体外部的方法声明部分,用来声明方法可能会抛出的某些异常。仅当抛出了编译时异常,该方法调用者才必须处理或者重新抛出该异常。当方法的调用者无力处理该异常的时候,应该继续抛出,而不是一般在catch中打印一下堆栈信息做个勉强处理。
参考文档:
https://blog.csdn.net/wuwenxiang91322/article/details/10346337
https://blog.csdn.net/huhui_cs/article/details/38817791
内容总结
以上是互联网集市为您收集整理的java的错误和异常全部内容,希望文章能够帮你解决java的错误和异常所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。