黑马程序员--老毕视频之浅谈异常抛出
2014-06-18 20:20
274 查看
---------------------- <a href="http://www.itheima.com"target="blank">Jsp.java+Android开发</a>、<a href="http://www.itheima.com"target="blank">Jsp.java+Android开发 </a>、期待与您交流! ----------------------
(1)异常的概述:
异常就是所谓的程序运行不正常情况。异常出现的原因有很多,例如说程序中出现了零做除数的情况,线程出现死锁等。异常的问题出现,可以通过java的类的形式进行描述,并封装成对象。其实就是JAVA对不正常情况描述后的对象体现。对于异常可以分为两种,一种是不严重的问题,Java通过Exception类进行描述,这种问题往往可以通过具体问题具体分析解决的办法进行处理。 另一种是严重的问题,Java通过Error类进行描述,这种问题一般不做针对性的处理。
(2)异常的处理:
Java提供了特有的语句进行处理
try
{
需要被检测的代码;
}
catch(异常类 变量)
{
处理异常的代码(即处理方法)
}
finally
{
一定会执行的语句
}
(3)对于获得的异常对象进行常见的方法操作
一般是通过string getMassage()的方法来获取异常信息。
(4)对于多异常的处理
首先声明异常时应该声明具体的异常,出现几个声明异常就对应几个catch块,不要定义多余的catch块。如果多个catch块中异常出现继承关系,父类异常的catch放在最下面。
(5)异常的小练习
class LanPingException extends Exception
{
LanPingException(String message)
{
super(message);
}
}
class MaoYanException extends Exception
{
MaoYanException(String message)
{
super(message);
}
}
class NoPlanException extends Exception
{
NoPlanException(String message)
{
super(message);
}
}
class Computer
{
private int state=1;
public void run()throws LanPingException,MaoYanException
{
if(state==2)//电脑第二种状态时抛出异常
throw new LanPingException("蓝屏了");
if(state==3)//电脑第三种状态时抛出的异常
throw new MaoYanException("冒烟了");
System.out.println("电脑运行");
}
public void reset()
{
state=1;//电脑处于第一种状态时需要做的是重启
System.out.println("电脑重启");
}
}
class Teacher
{
private String name;
private Computer cmpt;
Teacher(String name)//对教师对象付参数
{
this.name=name;
cmpt=new Computer();
}
public void prelect()throws NoPlanException//教师上课讲课时可能出现问题,抛出异常
{
try
{
cmpt.run();//需要检测的代码功能
}
catch (LanPingException e)
{
cmpt.reset();//对于电脑第一种异常的处理办法
}
catch(MaoYanException e)
{
test();
throw new NoPlanException("暂时不上课"+e.getMessage());
//对于电脑第二种异常的处理办法
}
System.out.println("讲课");
}
public void test()
{
System.out.println("练习");
}
}
class ExceptionTestA
{
public static void main(String[] args)
{
Teacher t=new Teacher("张老师");//建立教师对象,并赋值
try
{
t.prelect();//调用教师的功能
}
catch (NoPlanException e)
{
System.out.println(e.toString());
System.out.println("换老师");
}
//System.out.println("Hello World!");
}
}
---------------------- <a href="http://www.itheima.com"target="blank">Jsp.java+Android开发</a>、<a href="http://www.itheima.com"target="blank">Jsp.java+Android开发培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://www.itheima.com" target="blank">www.itheima.com</a>
(1)异常的概述:
异常就是所谓的程序运行不正常情况。异常出现的原因有很多,例如说程序中出现了零做除数的情况,线程出现死锁等。异常的问题出现,可以通过java的类的形式进行描述,并封装成对象。其实就是JAVA对不正常情况描述后的对象体现。对于异常可以分为两种,一种是不严重的问题,Java通过Exception类进行描述,这种问题往往可以通过具体问题具体分析解决的办法进行处理。 另一种是严重的问题,Java通过Error类进行描述,这种问题一般不做针对性的处理。
(2)异常的处理:
Java提供了特有的语句进行处理
try
{
需要被检测的代码;
}
catch(异常类 变量)
{
处理异常的代码(即处理方法)
}
finally
{
一定会执行的语句
}
(3)对于获得的异常对象进行常见的方法操作
一般是通过string getMassage()的方法来获取异常信息。
(4)对于多异常的处理
首先声明异常时应该声明具体的异常,出现几个声明异常就对应几个catch块,不要定义多余的catch块。如果多个catch块中异常出现继承关系,父类异常的catch放在最下面。
(5)异常的小练习
class LanPingException extends Exception
{
LanPingException(String message)
{
super(message);
}
}
class MaoYanException extends Exception
{
MaoYanException(String message)
{
super(message);
}
}
class NoPlanException extends Exception
{
NoPlanException(String message)
{
super(message);
}
}
class Computer
{
private int state=1;
public void run()throws LanPingException,MaoYanException
{
if(state==2)//电脑第二种状态时抛出异常
throw new LanPingException("蓝屏了");
if(state==3)//电脑第三种状态时抛出的异常
throw new MaoYanException("冒烟了");
System.out.println("电脑运行");
}
public void reset()
{
state=1;//电脑处于第一种状态时需要做的是重启
System.out.println("电脑重启");
}
}
class Teacher
{
private String name;
private Computer cmpt;
Teacher(String name)//对教师对象付参数
{
this.name=name;
cmpt=new Computer();
}
public void prelect()throws NoPlanException//教师上课讲课时可能出现问题,抛出异常
{
try
{
cmpt.run();//需要检测的代码功能
}
catch (LanPingException e)
{
cmpt.reset();//对于电脑第一种异常的处理办法
}
catch(MaoYanException e)
{
test();
throw new NoPlanException("暂时不上课"+e.getMessage());
//对于电脑第二种异常的处理办法
}
System.out.println("讲课");
}
public void test()
{
System.out.println("练习");
}
}
class ExceptionTestA
{
public static void main(String[] args)
{
Teacher t=new Teacher("张老师");//建立教师对象,并赋值
try
{
t.prelect();//调用教师的功能
}
catch (NoPlanException e)
{
System.out.println(e.toString());
System.out.println("换老师");
}
//System.out.println("Hello World!");
}
}
---------------------- <a href="http://www.itheima.com"target="blank">Jsp.java+Android开发</a>、<a href="http://www.itheima.com"target="blank">Jsp.java+Android开发培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://www.itheima.com" target="blank">www.itheima.com</a>
相关文章推荐
- 黑马程序员_异常(老毕视频总结及《疯狂java》补充)
- 黑马程序员——浅谈java中的异常机制
- 黑马程序员_基于老毕视频和Java疯狂讲义1~2节基础概括(思维导图)
- 浅谈python抛出异常、自定义异常, 传递异常
- 黑马程序员_基于老毕视频和疯狂java第4节的思维导图
- 浅谈python抛出异常、自定义异常, 传递异常
- 黑马程序员------毕老师视频笔记第九天------面向对象(异常上)
- (每日一转)黑马程序员----跟着老毕学Java之异常机制
- 黑马程序员------毕老师视频笔记第十天------面向对象(异常下)
- 初学者浅谈异常抛出
- 浅谈java中异常抛出后代码是否会继续执行
- android使用mediaPlayer显示视频时,抛出java.lang.IllegalStateException异常
- 黑马程序员---多线程视频之经验浅谈
- 【Java学习笔记之三十二】浅谈Java中throw与throws的用法及异常抛出处理机制剖析
- 黑马程序员——面向对象(继承+抛出异常)-第20天
- 黑马程序员---老毕视频中 IO 总结
- 黑马程序员-JAVA高级视频_IO输入与输出-18天-3(IO异常处理方式)
- 【Java学习笔记之三十二】浅谈Java中throw与throws的用法及异常抛出处理机制剖析
- 黑马程序员-----异常概述(黑马视频)
- 黑马程序员-----字符流异常简单处理(黑马视频)