java笔记Java中的异常(exception)和异常处理
Posted 棉花糖灬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java笔记Java中的异常(exception)和异常处理相关的知识,希望对你有一定的参考价值。
异常处理
java的异常可以分为三种:
- 检查性异常:程序员不能预见的异常,如打开一个不存在的文件
- 运行时异常:程序员可以避免的异常,如空指针异常
- 错误: 错误不是异常,而是脱离程序员控制的问题,如超出内存错误
1. 异常类的层次
异常类的层次关系如上图所示,Error和Exception都是Throwable的子类,Exception又可以分为IOException类和RuntimeException类。
2. 常用方法
public String getMessage()
:返回关于发生的异常的详细信息。这个消息在Throwable 类的构造函数中初始化了public Throwable getCause()
:返回一个Throwable 对象代表异常原因public String toString()
:使用getMessage()的结果返回类的串级名字public void printStackTrace()
:打印toString()结果和栈层次到System.err,即错误输出流public StackTraceElement [] getStackTrace()
:返回一个包含堆栈层次的数组。下标为0的元素代表栈顶,最后一个元素代表方法调用堆栈的栈底public Throwable fillInStackTrace()
:用当前的调用栈层次填充Throwable 对象栈层次,添加到栈层次任何先前信息中
3. 捕获异常
-
使用 try 和 catch 关键字可以捕获异常。try/catch 代码块被称为保护代码
-
使用多重捕获时,一般是子类在前,父类在后,不然编译时程序会报错
-
finally中是无论是否发生异常都会最后执行的代码。try后必须catch或finally至少有一个
try{
// 程序代码
}catch(异常类型1 异常的变量名1){
// 程序代码
}catch(异常类型2 异常的变量名2){
// 程序代码
}finally{
// 程序代码
}
4. throws/throw关键字
如果一个方法没有捕获到一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。也可以使用 throw 关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。
import java.io.*;
public class className
{
public void deposit(double amount) throws RemoteException
{
// Method implementation
throw new RemoteException();
}
//Remainder of class definition
}
以上是关于java笔记Java中的异常(exception)和异常处理的主要内容,如果未能解决你的问题,请参考以下文章