thinking in java第七天
来源:互联网 发布:龙虎榜持仓数据变化 编辑:程序博客网 时间:2024/05/18 00:05
第十二章 异常处理
try {// Code that might generate exceptions} catch ( e) {// TODO: handle exception}
- throw new NullPointerException("");在使用new 创建了异常对象之后,此对象的引用将传给throw
- system.err.println();将错误发送给标准错误流,不会随System.out一起被重定向
- Throwable类声明的printStackTrace():打印从方法调用处直到异常抛出处的方法调用序列
- 异常与记录日志:可以使用java.util.logging,也可以使用Apach下的common-logging.jar
- 自定义异常,通常都是直接继承某个异常类,重写构造器方法,覆盖getMessage方法
- 异常说明:即方法后面使用了throws,后面接一个所有潜在的异常类型的列表
- getStackTrace()返回一个由栈轨迹中的元素构成的数组
- 重新抛出异常
- 会把异常抛出上一级的环境中的异常处理程序,通一个try的后续catch子句将被忽略(摩根的笔试题)
- 当抛出同一个异常时,fillInstackTrace()就成了异常的新发生地
- 当抛出的是不同的异常时,就相当于使用了fillInStackTrace(),原来异常发生点的信息会丢失
- 异常链
- Throwable这个java类被用来表示任何可以作为异常被抛出的类
- Error:表示编译时和系统错误
- Exception:是可以被抛出的基本类型
- 并非所有的异常包都是从java.lang包里定义的,如IOException
- RuntimeException:不需要再异常说明中声明方法将抛出该异常
- 如果RuntimeException没有被捕获而直达main(),那么在程序退出前将调用异常的printStackTrace()方法
- 只能在代码中忽略RuntimeException及其子类
- finally:必然执行块
- 当涉及break,continue,return语句的时候,finally子句也会得到执行
- 当涉及到两种情况时,会导致异常丢失
- 前一个异常还没被处理就在finally中抛出下一个异常
- 直接在finally中return,这将屏蔽所以异常处理
0 0
- Thinking In Java 第七天
- thinking in java第七天
- Thinking In Java 第一天
- Thinking In Java 第三天
- Thinking In Java 第五天
- Thinking In Java 第八天
- thinking in java 第三天
- Thinking in java第五天
- Java - 《Thinking in Java 第4版》
- thinking in java 笔记 第一天
- thinking in java 第6天
- Thinking in java第8天
- Thinking in Java 第13章:并发
- Thinking in Java 第7章 复用类
- Thinking in Java 第8章 多态
- Thinking in Java 第9章 接口
- Thinking in Java 第13章 字符串
- Thinking in Java 第16章 数组
- android apk 防止反编译技术第三篇-加密apk
- alias 添加
- 第六周项目六--复数模板类(友元函数)
- 零基础入门学习C 001
- html5 websocket 无法建立到服务器的连接 一种解决方法
- thinking in java第七天
- Go语言defer的使用
- 使用Hibernate Criteria完成灵活的组合查询
- 电视节目
- iOS开发-字符串和数组NSString NSArray的操作
- sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close
- Caused by: java.lang.UnsatisfiedLinkError
- [后缀数组+贪心] poj 3518 Sequence
- 【算法之链表(二)】判断两个链表是否相交并找出交点