Java基础回顾_Exception异常使用详解
来源:互联网 发布:windows oem版是正版吗 编辑:程序博客网 时间:2024/06/03 05:19
package 内部类异常包装器;public class 异常 {/** * 1.异常: * 有Error和Exception两个基本子类 * 2.Error: * Error表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。 * 3.Exception: * 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。比如,如果数组索引扩展不超出数组界限,那么,ArrayIndexOutOfBoundsException异常从不会抛出。 * * 4.本类中对除以0产生错误的异常进行捕捉,抛出异常、finally多执行释放资源,回收垃圾 * 5.处理异常: * 第一,通过将Try{}catch(){}块纳入其代码中,在这里捕获给被命名为属于某个超类的异常,并调用方法处理它。即使catch块是空的,这也算是处理情况。 第二,让被调用的方法表示它将不处理异常,而且该异常将被抛回到它所遇到的调用方法中。它是按如下所示通过用throws子句标记的该调用方法的声明来实现的: public void troublesome() throws IOException 6.异常: (1).非受检异常:是指编译不要求强制处理的异常。一般是编程时的逻辑错误。是程序员应该积极避免出现的异常 错误的类型转换异常:java.lang.ClassCastException 数组下标越界异常:java.lang.ArrayIndexOutOfBoundsException 空指针异常:java.lang.NullPointerException 除0溢出异常:java.lang.ArithmeticException 数据格式异常 NumberFormatException (2).受检异常:是指编译器要求必须处理的异常,即程序在运行时由于外界因素造成的一般性异常 没有找到指定名称的类异常:java.lang.ClassNotFoundException 访问不存在的文件异常:java.io.FileNotFoundException 操作文件时发生的异常:java.io.IOException 操作数据库时发生的异常:java.sql.SQLException 7.抛出异常: (1).throw语句用来明确抛出一个异常,用户必须得到一个Throwable类或其它子类产生的实例句柄,通过参数传到catch子句,或者用new创建一个实例 注意:执行throw语句后,运行流程将立即停止,throw的下一条语句也将暂停执行。throw后面必须抛出一个Throwable的实例 (2).throws:\一个方法有异常,但它本身并不对异常进行处理。将其向外抛出异常 详见:本包中的 异常2.java类 */public static void main(String[] args) {System.out.println("请打开数据库连接");System.out.println("数据库操作");try {int i = 12 / 0;//异常代码,0不能作为整除数System.out.println("执行数据库操作");} catch (Exception e) { /**System.out.println("除0出错!"); 以下是异常信息的获取// System.out.println(e.getMessage());//返回异常对象的详细信息 e.printStackTrace();//获取异常的具体类型 */throw new ArithmeticException("除0出错");//7.throw抛异常}finally{System.out.println("关闭数据库连接....");//总要执行的语句}}}
package 内部类异常包装器;/** * * 这里定义了一个异常,数组下标越界,但通过改变了i的值,使程序又运行,通过finally中的(i+1)次 * */public class 异常2 {public static void main(String[] args)throws Exception {//throws抛出异常int i = 0;String[] str = {"Hello Word", "No I mean it!", "HELLO WORD"};while(i < 4){//小于4代表数组下标越界try{System.out.println(str[i]);}catch (ArrayStoreException e) {// TODO: handle exceptioni = -1;}finally{System.out.println("必运行的代码"+(i+1)+"次");}i++;}}}
0 0
- Java基础回顾_Exception异常使用详解
- 异常体系_Exception
- [2014-10-22]JAVA笔记_Exception(异常)
- 黑马程序员_Java异常_Exception
- 黑马程序员 java基础回顾---异常
- Java基础回顾 : 异常的相关知识
- Java异常处理回顾:使用finally块
- Java基础回顾_static的使用
- Java基础回顾 : 转换流的使用
- Java基础之异常详解
- java 基础异常使用总结
- Java基础回顾_Java for循环运行步骤Code详解
- 关于Java基础回顾
- Java基础回顾(一)
- Java基础回顾(二)
- Java基础回顾(三)
- Java基础回顾(四)
- Java基础回顾(五)
- 搭建POCO-1.4.6p2+VS2008开发环境
- 谁能提供一份用springmvc+hibernate+jstl写的完整用户注册,登录demo呢
- Python 中的 模块 包 解析
- nginx源码分析--配置信息的继承&合并
- 谈谈数据仓库架构的发展和分类
- Java基础回顾_Exception异常使用详解
- Contiki通信之数据接收过程
- Android Wear Preview- 创建通知(Creating Notifications for Android Wear)
- PAGE_MASK
- 渗透测试常用工具
- android 反射应用
- 解决 Agent admitted failure to sign using the key 问题 with ssh & repo
- jquery表格、序列的拖拽排序dragsort
- Android权限设置android.permission完整列表