java之异常处理
来源:互联网 发布:sm1算法多少钱 编辑:程序博客网 时间:2024/04/30 07:40
1、异常处理的好处:
1)避免散乱的if-else降低代码可读性,扰乱业务逻辑。
2)将错误封装成对象,统一处理
3)通知使用者错误
2、异常处理体系
Throwable类
—–Error类
—–Exception类
————RunTimeException类
————其他异常类
3、异常分类
1)编译时异常:必须在编译期间进行处理,否则不能通过编译。
2)运行时异常:不要求进行处理,编译也能通过。我们通常不处理运行时异常。
4、异常处理机制
1)声明异常: throws。
a、在函数上声明可能出现的异常,可以声明多个异常
b、构造方法也可以声明异常
2)处理异常:try-catch()-finally
a、将可能出现异常的代码置于try块内;
b、在catch块内处理异常。如果处理不了,可以throw抛出异常
c、将必须要执行的代码(如关闭资源)置于finally代码块内。
注:如果try块内某一行代码发生异常,try后面的代码就不会被执行了,转到catch里面执行。如果catch处理成功,那么该方法后面的代码可以正常执行,程序不会停止;如果catch无法处理该异常,可继续抛出异常,让调用这处理。
5、throw和throws
1)throw为手动抛出异常,它编写在函数体里;throws为声明可能出现的异常,它声明在函数名后面。
2)throw抛出的是异常的对象;throws声明的是异常类名。
3)如果代码中出现了throw,必须要在函数名throws异常或try处理。RuntimeException除外。(RuntimeException类及其子类使用throw如果不进行异常处理,那么程序会停掉,而我们希望RuntimeException停掉。其他异常throw后不处理编译不通过)
6、自定义异常
继承RuntimeException或Exception。自定义的异常通常需要手动抛出。构造方法里面传入异常信息调用super()方法即可。
7、异常的覆盖
如果分类声明了异常,子类在重写父类异常的方法时,抛出的异常只能是父类异常的子类或子集。
(可以通过多态来解释:如果父类引用指向子类,在父类引用调用子类的异常方法的时候,父类的异常类必须要大于子类的异常类才可以顺利执行调用。)
8、异常处理的原则
1)声明异常时,应该声明具体的异常而不是笼统的Exception
2)调用声明了异常的方法的时候,声明了多少异常,就应该catch多少个异常。
3)多个catch,父类的catch应该放在下面。
- JAVA异常之异常处理
- java之异常处理
- java之异常处理
- java 之 ----------------- 异常 处理
- java之异常处理
- java之------ 异常处理
- java之异常处理
- Java之异常处理
- Java之异常处理
- 《Java之异常处理》
- java之异常处理
- java之异常处理
- Java之异常处理
- java之异常处理
- Java之异常处理
- Java之异常处理
- JAVA之异常处理
- java之异常处理
- CentOS 6服务器简单安全配置
- Hex文件格式详解
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。Microsoft SQL Server,错误: 10061
- android TextToSpeech 源码分析
- Linux环境变量的设置和查看
- java之异常处理
- window模态导航控制器出现的问题 "whose view is not in the window hierarchy!"
- 求若干整数的最大公约数和最小公倍数
- 二级指针理解 + static的特殊用法
- 模式识别学习网址汇总
- web前端-HTML速查列表-021
- 升级Xcode8访问相机 麦克风注意事项
- 第五周项目5后缀表达式
- 浅析MySQL内存的使用说明(全局缓存+线程缓存)