您的位置:首页 > 职场人生

黑马程序员--老毕视频之浅谈异常抛出

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: