| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 关于java异常 -> 正文阅读 |
|
[Java知识库]关于java异常 |
**Throwable类是所有错误和java中异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过java虚拟机或者Javathrow语句抛出。 Exception和Error都是继承了Throwable类,它们是异常处理机制的基本组成类型。 Exception是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。 关于检查性和非检查性异常,不用深究理解,你只要懂得,平常有那么几种异常就好。 ClassNotFoundException找不到某个类时,会抛出该异常,反射时会用到。 InterruptedException当阻塞方法收到中断请求的时候就会抛出中断异常。 常见的非检查性异常: NullPointerException空指针引用异常,试图调用空对象的方法或者属性时,抛出该异常。 ArithmeticException 算术运算异常 ClassCastException类型转换异常,当试图将对象强制转换为不是实例的子类时,抛出该异常 IndexOutOfBoundsException 下标越界异常 try {可能出异常的代码}catch(异常类型 异常名){你解决的做法}finally {} 可以catch很多种异常,你也可以写很多种对应解决的做法,只不过catch异常的时候要注意次序,异常超类不能在子类前,超类都抛完了,子类没意义了。你解决的做法,可以打印这个异常(e.printstackTrace),也可以什么都不写,生吞了它。 无论异常是否发生,finally里的内容都会执行,发生异常时,先执行finally,再执行catch。 程序最终会采用finally代码块中的return语句进行返回,而直接忽略try语句块中的return指令 对于异常的使用有一个不成文的约定:尽量在某个集中的位置进行统一处理,不要到处的使用try-catch,否则会使得代码结构混乱不堪。按照 策一,尽量不要捕获类似Exception这样的通用异常,而是应该捕获特定异常。 第二,不要生吞(swallow)异常 Error是指在正常情况下,不大可能出现的情况,绝大部分的Error都会导致程序(比如JVM自身)处于非正常的,不可恢复状态。比如内存溢出错误(OutOfMemoryError),栈内存溢出错误(StackOverflowError),找不到class定义的错误(NoClassDefFoundError)等。 ** |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:38:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |