黑马程序员 第22天 异常
来源:互联网 发布:java项目打包成war 编辑:程序博客网 时间:2024/05/17 20:53
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
异常的处理
java提供了特有的语句进行处理。
try
{
需要被检测的代码
}
catch (异常类 变量)
{
处理异常的代码(处理方式)
}
finally
{
一定会执行的语句
}
对捕获到的异常对象进行常见方法操作
System.out.println(e.getMessage());只有异常信息
System.out.println(e.toString());异常名称 :异常信息
e.printStackTrace(); 异常名称 : 异常信息 : 异常位置
其实就是jvm默认的异常处理机制
throws Exception 在 功能上通过throws的关键字声明了该功能有可能会出现问题
对多异常的处理
在函数上声明异常
便于提高安全性,让调用出进行处理,不处理编译失败
对多异常的处理
1.声明异常时,建议声明更为具体的异常,这样处理的可以更具体
2.对方声明几个异常,就对应几个catch块。不要定义多余的catch块
如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面
建立在进行catch处理时,catch一定要定义具体处理方式
不要简单定义一句e.printStrackrace();
也不要简单的就写一条输出语句
自定义异常
因为项目中会出现特有的问题,而这些问题并未被java所描述,所以对于这些问题可以按照java的对问题封装的思想
将特有的问题,进行自定义的异常封装
当在函数内部出现了throw抛出异常对象,那么就必须要给对应的处理动作
要么在内部try catch处理。要么在函数上声明让调用者处理
一般情况下,函数内出现异常,函数上需要声明。
发现打印的结果中只有异常的名称,却没有异常的信息。
因为自定义的异常并未定义信息
如何定义异常信息
因为父类中已经把异常信息的操作都完成了
所以子类只要在构造时,将异常信息传递给父类通过super语句
那么就可以直接通过getMessage方法获取自定义的异常信息。
自定义异常
必须是自定义类继承Exception
继承Exception原因:
异常体系有一个特点;因为异常类和异常对象需要被抛出
它们都具备可抛性。这个可抛性是Throwable这个体系中独有特点
只有这个体系中的类和对象才可以被throws和throw操作
throws和throw的区别
throws使用在函数上
throw使用在函数内
throws后面跟的异常类,可以跟多个。用逗号隔开
throw后面跟的是异常对象
Exception中有一个特殊的子类异常RuntimeException运行时异常
如果在函数内容抛出该异常,函数上可以不用声明,编译一样通过
如果在函数上声明了该异常,调用者可以不用进行处理,编译一样通过
注意 之所以不用再函数上声明,是因为不需要让调用者处理
当异常发生时,希望程序停滞,因为咋运行时,出现了无法继续运算的情况
希望程序停止后,对代码进行修正
自定义异常时,如果该异常的发生,无法在继续进行预算,就让自定义异常继承RuntimeException
对于异常分两种:
1.编译时被检测的异常
2.编译时不被检测的异常,(运行时异常,RuntimeException以及其子类)
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Unity开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
0 0
- 黑马程序员 第22天 异常
- 黑马程序员 第21天 异常概述
- 黑马程序员 第23天 异常总结
- 黑马程序员+第三章面向对象 第10天 异常
- [黑马程序员](第17)异常
- 黑马程序员 + 第22天 GUI
- 黑马程序员---异常?异常!
- 黑马程序员_Java第18天知识总结_System类_Runtime类_Date_Calendar_Math_Random_InputStream_OutputStream_IO异常的处理
- 黑马程序员_学习笔记第9天——内部类、异常
- 黑马程序员_学习笔记第10天——异常、包
- 黑马程序员_学习笔记第10天——异常
- 黑马程序员——第9天——(面向对象)内部类,异常
- 黑马程序员--第九天:内部类及异常
- 黑马程序员 第一篇 Java 异常处理 (Foundation; completed)
- 黑马程序员——Java基础---面向对象(异常(上))--第9天--第111-117集
- 黑马程序员——Java基础---面向对象(异常(下))--第10天--第118-123集
- 黑马程序员java学习第十天,异常
- 黑马程序员--第十天:异常 和 包
- 关于使用richedit5.0引起的超链接失效的问题
- ZOJ-1406
- __VA_ARGS__相关【转】
- webview的使用
- zk框架 官方文档翻译2
- 黑马程序员 第22天 异常
- SSH相关操作
- 编译器和解释器
- ubuntu在线系统升级方法
- 马虎的算式
- 湘潭大学四月月赛C题A+B(扩展欧几里得定理)
- html标签在浏览器居中显示
- Windows学习心得【子窗口】
- Tomcat Server.xml详解