异常处理
好久没有写博客了,最近要考Java,so把学习的内容记录下吧?就当作笔记吧。
在“异常”类层次的最上层有一个单独的类叫做Throwable,它是java.lang包中的一个类,Throwable派生了两个子类java.lang.Error和java.lang.Exception,其中Error子类由系统保留,因为该类定义了那些应用程序通常无法 捕捉的错误。而Exception子类则是供应用程序使用的,它是用户捕捉到的异常情况,Exception类的两个构造方法:
public Exceptiion ();
public Exception(String s);
Exception 从父类Throwable继承的方法通常有两个 :
public String toString () //返回描述当前Exception类信息的字符串
public void printStackTrace() //没有返回值,完成一个输出操作
try-catch-finally语句捕获处理异常
try
{
要检查的语句序列
}
catch(异常类名 形参对象名)
{
异常发生时的处理语句序列
}
finally
{
一定会执行的语句序列
}
抛出异常
(1)系统自动抛出异常
(2)指定方法招聘异常(用 throws)
抛出异常的方法:
throw 由异常所产生的对象
【修饰符】 返回值类型 方法名(【参数列表】) throws 异常类列表
自定义异常类
1.声明 一个新的异常类, 必须是Throwable类的直接或间接子类,一般 是继承Exceptiion。
2.用户自定义异常类的定义属性和方法 ,或覆盖父类的属性和方法 。
自定义类DEMO
1 class CircleException extends Exception 2 3 { 4 double radius ; 5 CircleException(double r) 6 7 { 8 radius =r; 9 } 10 public String toString () 11 { 12 return "半径 r ="+radius +"不是一个正数"; 13 } 14 } 15 class Circle 16 { 17 private double radius ; 18 public void setRadius(double r)throws CircleException 19 { 20 if(r<0) 21 throw new CircleException(r); 22 else 23 radius=r; 24 } 25 26 public void show() 27 { 28 System.out.println("圆的面积="+3.14*radius*radius); 29 } 30 } 31 public class App9_7 { 32 33 public static void main(String[] args) { 34 35 Circle cir =new Circle(); 36 try{ 37 cir.setRadius(-2.0); 38 39 } 40 catch(CircleException e) 41 { 42 System.out.println("自定义异常:"+e.toString()+" "); 43 } 44 cir.show(); 45 46 } 47 48 }
2014-12-2122:31:26