异常处理

      好久没有写博客了,最近要考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

原文地址:https://www.cnblogs.com/dadafeige/p/4177217.html