Java基础之006-异常
来源:互联网 发布:网络玩游戏 编辑:程序博客网 时间:2024/06/05 23:40
Java基础之006-异常
35岁学习Java
1.1 异常的体系
throwable
--Error
通常出现重大问题如:运行的类不存在或者内存溢出等。
不编写针对代码对其处理
--Exception
在运行时运行出现的一起情况,可以通过try catch finally
1.2 Exception和Error的子类名都是以父类名作为后缀。
Java在设计异常体系时,将容易出现的情况都封装成了对象。
1.3 Throwable中的方法
1) getMessage()
获取异常信息,返回字符串。
2) toString()
获取异常类名和异常信息,返回字符串。
3) printStackTrace()
获取异常类名和异常信息,以及异常出现在程序中的位置。返回值void。
4) printStackTrace(PrintStream s)
通常用该方法将异常内容保存在日志文件中,以便查阅。
1.4 throws和throw
1) throws用于标识函数暴露出的异常。
2) throw用于抛出异常对象。
3) throws与throw的区别:
thorws用在函数上,后面跟异常类名。
throw用在函数内,后面跟异常对象。
说明:定义功能方法时,需要把出现的问题暴露出来让调用者去处理。那么就通过throws在函数上标识。
在功能方法内部出现某种情况,程序不能继续运行,需要进行跳转时,就用throw把异常对象抛出。
1.5 异常处理
try
{
需要检测的代码;
}
catch(异常类 变量)
{
异常处理代码;
}
finally
{
一定会执行的代码;
}
Finally代码块只有一种情况不会被执行。就是在之前执行了System.exit(0)。
处理过程:
中检测到异常会将异常对象传递给catch,catch捕获到异常进行处理。
Finally里通常用来关闭资源。比如:数据库资源,IO资源等。
需要注意:try是一个独立的代码块,在其中定义的变量只在该变量块中有效。
如果在try以外继续使用,需要在try建立引用。在try对其进行初始化。IO,Socket就会遇到。
1.6 自定义异常
1) 自定义类继承Exception或者其子类。
2) 通过构造函数定义异常信息。
例:
Class DemoException extendsException
{
DemoException(Stringmessage)
{
super(message);
}
}
3) 通过throw将自定义异常抛出。
1.7 异常细节
1) RuntimeException以及其子类如果在函数中被throw抛出,可以不用在函数上声明。
2) 一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类。
3) 如果父类抛出多个异常,那么重写(覆盖)方法必须抛出那些异常的一个子集,不能抛出新的异常。
4) 简单说:子类覆盖父类只能抛出父类的异常或者子类或者子集。
注意:如果父类的方法没有抛出异常,那么子类覆盖时绝对不能抛,就只能try.
- Java基础之006-异常
- java基础之异常
- java基础之异常
- JAVA基础 之 异常
- java基础之 异常
- Java基础之异常
- java基础之异常
- java基础之异常
- java基础之异常
- java基础之异常
- Java基础之异常
- JAVA基础之异常
- java基础之异常
- Java基础之异常
- java基础之异常
- java基础之异常
- Java基础之异常
- java基础之异常。
- Java基础之004-面向对象
- Endnote管理参考文献
- hdu4572 Bottles Arrangement(找规律)
- Java基础之005-继承
- pl/sql语法手册
- Java基础之006-异常
- OC学习那些事:self、自动释放、变量作用域
- JAVA监测tomcat是否死机,控制重启
- 管理故事:名片背后的意义
- Linux 常用命令与解析
- Xcode主要快捷键
- Android内存泄漏简介
- sendmail + dovecot
- Axis部署开发webservice (全) 转