标签:
所谓异常就是程序在运行时出现的不正常情况;
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);除外 }
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 的简短描述。 |
下面的三个方法初学者需要掌握
标签:
原文地址:http://www.cnblogs.com/mihacker/p/4905661.html