自学Java第二十六课

今天学习了异常,在我学习C++时也接触过异常,我印象最深的是throw和try..catch两个处理异常的方法。在今天所学习的内容中也有相似的内容。

异常:程序出现不正常的情况,例如报错、无法编译...

  Throwable包括Error、Exception,Exception包括RuntimeException和非RuntimeException两大类。

  Error:严重问题,不需处理。Exception:异常类,程序本身可处理的问题。 RuntimeException:编译期不检查,出现问题,修改代码。非RuntimeException:编译期必须处理,否则不能运行。

JVM默认处理方案

  1、把异常的名称、异常原因及异常出现的位置输出在控制台;

  2、程序停止执行。

自学Java第二十六课

 

 异常处理

  1、try...catch

  try{

  可能出现异常的代码;

  }catch(异常类名 变量名){
  异常处理代码

  }

自学Java第二十六课

 

   2、throws 由于我们并没有全部的权限去全部处理

  throws 异常类名   注:在方法的括号后面

  运行时异常:把异常抛出

  编译时异常:采用throws,谁调用谁处理。

自学Java第二十六课

 

 Throwable成员方法

public String getMessage() 返回异常的原因
public String toString() 返回可抛出的原因
public void printStackTrace() 在控制台输出异常信息

自学Java第二十六课

 

 自学Java第二十六课

 

 自学Java第二十六课

 

   三个方法,public void printStackTrace()对于异常的信息最详细,使用最多。

  所有RuntimeException及其子类称为运行时异常,其他为编译时异常。

  编译时异常(受检异常):必须显示处理,否则程序会错误,无法编译。

  运行时异常(非受检异常):无需显示处理,可和编译时异常一样处理。

自定义异常,自己定义的异常,给出提示信息。

自学Java第二十六课

 

 自学Java第二十六课

 

 自学Java第二十六课

 

 

  public class 异常类名 extends Exception{无参构造;带参构造}

throws throw
方法声明之后,跟的是异常类名 方法体内,跟的是异常对象名
抛出异常,由方法调者这处理 抛出异常,方法体内语句处理
异常可能发生 异常一定发生

明天将会学习集合。

上一篇:异常的使用方法(throw和throws)


下一篇:Java面试官:开发过程中