黑马程序员——java基础之异常
来源:互联网 发布:淘宝店主寄语 文艺 编辑:程序博客网 时间:2024/06/05 23:05
------- android培训、java培训、期待与您交流! ----------
1 基本概念简介
异常,就是程序在运行过程中出现不正常情况,而异常就是java对这些不正常的情况进行描述的对象的体现。
异常有两种:
a 编译时检测异常:该类异常在编译时如果没有处理,编译失败。该异常被标识,表示可以被处理。
b 运行时异常:该类异常在编译时不需要处理,编译器不检查该类异常。如果出现该类异常,建议不作处理,直接停止程序,然后修正相关代码。
小注:return 和 throw是程序结束的标志。
异常的由来:问题也是现实生活中的事物,也可以通过java的形式进行描述并封装成对象。
问题的划分:严重的问题,java用error来进行描述;而对于那些非严重的问题,java就通过异常来进行描述。
问题的处理方法:error:一般不编写针对性的代码进行处理;而异常可以使用针对性的处理方式进行处理。
Error 和Exception的共性内容:不正常情况引发的原因等;
2 异常体系
throwable
|—Error
|—Exception
|—RuntimeException
...
异常体系的特点:异常体系中的所有类以及建立的对象都具备可抛性,也就是说可以被throw和throws关键字所操作,而且只有异常体系具备该特点。
throw和throws的用法:throw定义在函数内,用于抛出异常对象;throws定义在函数上,用于抛出异常类,并且可以抛出多个,中间用逗号隔开
异常的优点:将问题进行封装;将正常的流程代码和问题处理代码相分离,便于阅读。
3 异常的使用
使用异常时,应注意如下几点:
a 声明异常时,建议声明更为具体的异常,这样处理也可以更具体;
b 声明了几个异常就要有对应个数的catch(){ }语句进行处理,但不要定义多余的catch代码块,否则容易导致多个catch的异常出现继承关系,则该函数就结束了;
c 函数中有异常发生,
d 在进行catch处理时,catch中一定要定义具体的处理方式,可以使用异常日志文件记录相关的异常信息,便于以后的维护
小注:在子父类覆盖时:子类抛出的异常必须是父类的异常的子类或者子集;如果父类或者接口没有异常抛出时,子类覆盖出现异常,只能try不能抛。
异常处理语句:
try {需要被检测的测试代码 }catch(异常类型 变量名){ 处理异常的代码 } finally{ 一定会执行的语句 }
try {} catch(){}
try{} catch(){} catch(){} catch(){} catch()){}...
try{} finally{}
小注:finally中定义的通常是:关闭资源代码,如进行数据库操作时,完成相关的功能后就需要释放相关的资源;只有执行到System.exit(0);时,系统退出,JVM结束,此时finally中的语句不会执行。
示例:
class ExcpMethod
{
int div(int a,int b)throws Exception//通过throws的关键字声明了该功能有可能会出现问题。
{
return a/b;
}
}
class ExcepTest
{
public static void main(String[] args) //throws Exception
{
ExcpMethod exm= new ExcpMethod();//建立实例对象
try//执行代码块
{
int x = exm.div(4,0);
System.out.println("x="+x);
}
catch (Exception e)//异常处理
{
System.out.println(e.toString());
}
System.out.println("It is over");
}
}
自定义异常:定义类继承Exception 或 RuntimeException
目的:为了让自定义类具有可抛性;让该类具备操作异常的共性方法
如:
class MyException extends Exception
{
MyException(String message)
{
super(message);//调用父类的方法
}
- 黑马程序员—JAVA基础之异常
- 黑马程序员——-——java基础之异常
- 黑马程序员——-——java基础之异常
- 黑马程序员——java基础之异常
- 黑马程序员——JAVA基础之异常处理机制
- 黑马程序员——java基础之异常
- 黑马程序员—java基础之异常总结
- 黑马程序员——Java基础---异常
- 黑马程序员——Java基础--- 异常
- 黑马程序员——Java基础->异常
- 黑马程序员——Java基础-异常
- 黑马程序员——Java基础---异常
- 黑马程序员——Java基础---异常
- 黑马程序员——Java基础--异常
- 黑马程序员——Java基础---异常
- 黑马程序员——Java基础-异常
- 黑马程序员——Java基础--------异常
- 黑马程序员——java基础---异常
- 狂乱的潇洒主义者,频繁的追求自由者!
- Android4.0中Alertdialog对话框点击边缘外部消失问题解决
- lua的table排序
- HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误
- Jqgrid入门-操作表格的数据(二)
- 黑马程序员——java基础之异常
- Sonar语言
- 【图论05】并查集 1002 小希的迷宫
- java中的上传下载----ajaxFileUpload+struts2
- Linux Cenos 以RPM方式安装 redis
- 深入理解PHP原理之函数(Introspecting PHP Function)
- 从抽象谈起(一):工厂模式与策略模式
- 深入浅出PHP(Exploring PHP)
- 当程序崩溃的时候怎么办 part-1