Java学习笔记9--异常处理

9.1  异常的基本概述

异常处理程序的基本形式:

try{
    //逻辑程序块
}catch (ExceptionType1 e1) {
    //处理代码块1
}catch (ExceptionType2 e2) {
    //处理代码块2
}finally {
    //释放资源代码块
}

9.2   异常类型

在Java中,任何异常对象都是java.lang.Throwable类或其子类的对象,即所有异常类型都是内置类Throwable的子类。

                 

   1.Error类 

     指一些无法恢复的严重错误,如系统崩溃,虚拟机出现错误等,这些错误将导致应用程序中断,通常不由程序处理,用户也无法捕获。

  2. Exception类

指由程序和外部环境引起的错误,它是可以被捕获且可能恢复的异常情况,包括RuntimeException类和其他Exception类。

(1)RuntimeException类

     RuntimeException类,表示编程时存在的隐患或错误在运行期间所产生的异常,如数组下标越界异常(IndexOutOfBoundsException),空指针异常(NullPointerException),除0运算(ArithmeticException)等。此异常的产生是程序员的过失。 
 (2)其他Exception类

Java常见异常
异常类名称 异常原因
ArithmeticException算术错误异常
ArraylndexOutOfBoundsException数组下标越界
ArrayStoreException程序试图在数组中存储错误类型的数据
ClassCastException类型强制转换异常
IndexOutOfBounchsException当某对象的索引超出范围时抛出异常
NegativeArraySizeException建立元素个数为负的数组异常类
NullPointException 空指针异常
NumberFormatException    字符串转换为数字异常类
SecurityException Applet试图执行浏览器的安全设置不允许的动作
StringIndexOutBounchsException程序试图访问字符串中字符不存在的字符位置
OutOfMemoryException分配给新对象的内存太小
SockedException不能正常完成Socked操作
ProtocolException   网络协议有错误
ClassNotFoundException 未找到相应的异常类
EOFException文件结束异常
FileNotFoundException 文件未找到异常
illegalAccessException 访问某类被拒绝时抛出的异常
InstantiationException试图通过new Instance()方法创建一个抽象类或抽象接口的实例时出现的异常
IOException 输入、输出异常
NoSuchFileException字段未找到异常
NoSuchMethodException方法未找到异常
SQLException    操作数据库异常

                                                                                                                                                                                                                                                                                   

     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9.3 异常处理

9.3.1 使用try-catch语句捕获异常

语法格式:

try{
    //逻辑代码块1
}catch (ExceptionType1 e1) {
    //处理代码块1
}
//若逻辑代码块1正常,则跳过后面catch语句

      处理代码块1中,可使用下列方法输出相应的异常信息:

     

printStackTrace( )方法指出异常的类型,性质,栈层次及出现在程序中的位置
getMessage( )方法输出错误的性质
toString( )方法给出异常的类型与性质

    9.3.2     使 用多重catch语句捕获异常 

   9.3.3      使用try-catch-finally语句捕获异常  

            finally语句在除下面两种情况下都会执行。

1.在前面的代码中用System.exit( )退出运行;

2.在执行finally块之前,程序所在的线程死亡。

9.4   声明异常和抛出异常

9.4.1 throws声明异常

具体格式如下:

returnType method_name(paramList) throws Exception1,Exception2,...{
    ...
}

 9.4.2  throws抛出异常

throw语句用来直接抛出一个异常,后接一个可抛出的异常类对象。其语法格式如下:

 throws ExceptionObject;
//ExceptionObject必须是Throwable类或其子类的对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北冥有鱼zsp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值