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将自定义异常抛出。