码迷,mamicode.com
首页 > 编程语言 > 详细

Java异常初步

时间:2015-10-24 01:27:17      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:

所谓异常就是程序在运行时出现的不正常情况;

1.异常的体系:

  Throwable:

    1) Error:通常指JVM出现重大问题如:运行的类不存在或者内存溢出等,这种异常是程序员无法处理的

    2) Exception:在运行时运行出现的一些情况,可以通过try,catch,finally处理。比如在计算除法时把除数置0,参数传值是类型不符等。

  Java异常其实是对不正常情况的一种描述,并将其封装成对象

  Java在 设计异常体系时,将容易出现的异常情况都封装成了对象

 

  下面的代码在运行时会将除数置0,在运行时Java会抛出相应的错误

 1 public class Demo {
 2     public static void main(String[] args){
 3         System.out.println("begin");
 4         divide(17/0);
 5         System.out.println("ending");
 6     }
 7     publc static void divide(int a,int b){
 8         int c= a/b;
 9     }
10 }

  运行时抛出的错误如下

1 begin
2 Exception in thread "main" java.lang.ArithmeticException: / by zero
3     at exception.ExceptiomDemo03.divide(ExceptiomDemo03.java:10)
4     at exception.ExceptiomDemo03.main(ExceptiomDemo03.java:6)
java.lang.Object
  继承者 java.lang.Throwable
      继承者 java.lang.Exception
          继承者 java.lang.RuntimeException
              继承者 java.lang.ArithmeticException

  这里抛出的异常类型为 ArithmeticException,查看API可知这是一个继承于Exception的类。

 2.处理异常的五大关键字

  try ,catch,finally,throw, throws

    

技术分享
try{
        //可能出异常的代码
} catch(异常类  对象){
        //处理该异常类型的语句
}
[finally] {
        //一定会执行的代码
        //catch块使用System.exit(1);除外
}
try catch finally

 

 3.类Throwable

方法摘要
 Throwable fillInStackTrace()
          在异常堆栈跟踪中填充。
 Throwable getCause()
          返回此 throwable 的 cause;如果 cause 不存在或未知,则返回 null
 String getLocalizedMessage()
          创建此 throwable 的本地化描述。
 String getMessage()
          返回此 throwable 的详细消息字符串。
 StackTraceElement[] getStackTrace()
          提供编程访问由 printStackTrace() 输出的堆栈跟踪信息。
 Throwable initCause(Throwable cause)
          将此 throwable 的 cause 初始化为指定值。
 void printStackTrace()
          将此 throwable 及其追踪输出至标准错误流。
 void printStackTrace(PrintStream s)
          将此 throwable 及其追踪输出到指定的输出流。
 void printStackTrace(PrintWriter s)
          将此 throwable 及其追踪输出到指定的 PrintWriter。
 void setStackTrace(StackTraceElement[] stackTrace)
          设置将由 getStackTrace() 返回,并由 printStackTrace() 和相关方法输出的堆栈跟踪元素。
 String toString()
          返回此 throwable 的简短描述。

 下面的三个方法初学者需要掌握

  String getMessage()
    •获取异常信息,返回字符串。      
  String toString()
    •获取异常类名和异常信息,返回字符串。
      技术分享
     (图为程序调用getMessage()和toString()方法后得到的结果,可以看出getMessage()返回的是异常的信息,而toString()不仅返回了异常的信息,还返回了异常类名);
  void printStackTrace()
    •打印异常在堆栈中的跟踪信息;
      技术分享
      (图为printStackTrace()返回到的结果,它返回了异常所在的位置 5、11行)
 
 
 
 

Java异常初步

标签:

原文地址:http://www.cnblogs.com/mihacker/p/4905661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!