关闭

异常

标签: 异常处理
139人阅读 评论(0) 收藏 举报

异常

错误和异常的区别

异常

  • 在程序执行的过程中产生的问题
  • 编译期异常(检查异常)
  • 运行时错误

错误

  • 语法错误(编译期)
  • 运行时错误(不报错,硬件问题和环境问题)
  • 逻辑错误(算法问题,运行期)

运行时异常的处理方式

  • 修改源代码,将异常避免掉
  • 使用异常捕获机制,(try,catch)

try

正常逻辑下可以出现异常的代码

catch

异常处理语句

  • 当try后面有多个catch捕获的异常有几成关系是,必须遵照子类catch写前面,父类catch写后面;

finally

  • 不管是否发生异常,都要执行的代码,往往是资源的回收,内存的清理,通道的关闭等都要用:

编译时异常的处理方式

指一个方法在声明部分书写throws ~~Exception;以至于调用者在编译器搜到警告,(编译不通过)强制要求调用者警用处理

  • throws后面是异常类名,而且可以是多个类名(逗号隔开),表明方法有可能发生异常;
  • throw后面跟的是异常对象,只能跟一个对象,一旦执行到throw这句代码,一定会发生异常
  • 子类重写方法中不能比父类被重写方法抛出更多的异常(这里的更多表示的是范围)
  • 如果throw后面的异常对象是编译时异常,那么该方法声明跟后面必须要throws
  • 如果throw后面的异常对象是运行时异常,那么该方法声明跟后面可以不需要加throws
0
0
查看评论

异常代码查询

00000000 STATUS_SUCCESS 00000000 STATUS_WAIT_0 00000001 STATUS_WAIT_1 00000002 STATUS_WAIT_2 00000003 STATUS_WAIT_3 0000003F STATUS_WAIT_63 00000080 S...
  • u012476429
  • u012476429
  • 2015-02-01 20:51
  • 2428

异常(编译时异常和运行时异常)

1. 引子        try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它...
  • YoungStar70
  • YoungStar70
  • 2017-03-15 15:46
  • 2360

异常的工作原理

操作系统中的异常的处理流程: 1. 如果进程是在核心态发生异常的,那么,说明内核的bug被触发了,系统缺乏行之有效的处理方法,系统在控制台打印出出错信息,然后进入死循环等待系统操作人员人为干预 2. 如果进程是在用户态发生异常的,异常处理程序就会将异常类型转化为信号,然后将该信号通过信号机构...
  • yongf2014
  • yongf2014
  • 2015-06-01 23:32
  • 752

Java异常----受查(Checked)异常和运行时(Runtime)异常

1.•非受查异常(unchecked exception) –编译器不要求强制处置的异常 –java.lang.RuntimeException类及它的子类都是非受查异常 •错误的类型转换异常:ClassCastException •组下标越界异常:ArrayIndexOut...
  • yansong_8686
  • yansong_8686
  • 2013-08-11 01:24
  • 2257

mybatis常见异常总结之一0413

问题一:mybatis  Could not find result map 这是因为使用mybatis在配置*.xml文件的时候没有找到与resultmap对应的id为resultmap 当存在多个resultmap的时候, "resultmap1"  ty...
  • zhangxiaomin1992
  • zhangxiaomin1992
  • 2016-04-13 17:38
  • 1109

Java基础知识总结(四)——异常与异常处理表

要想弄清楚异常的一些知识点,比如try/finally的return,异常的丢失等等,光记住“形式”是不够的,不从字节码异常表的层面分析是很难真正的将一些问题弄明白。
  • Zerohuan
  • Zerohuan
  • 2015-12-31 00:11
  • 1636

断言(Assert)与异常(Exception)

## 断言和异常 断言是用来检查非法情况而不是错误情况的,用来帮开发者快速定位问题的位置。异常处理用于对程序发生异常情况的处理,增强程序的健壮性和容错性。 ## 断言的使用 在防御式编程中经常会用断言(Assertion)对参数和环境做出判断,避免程序因不当的输入或错误的环境而产生逻辑异常,断言在很...
  • zhaofuxiang
  • zhaofuxiang
  • 2016-11-28 16:17
  • 1312

Java常见异常类的继承关系

一 Java常见的异常类之间的继承关系 1 从图中可以看出,Java把所有非正常情况分成两种:异常(Exception)和错误(Error),它们都继承Throwable父类。 2 Err错误,一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,动态链接失败等,这种错误无法恢复或不可能捕获,将导...
  • chengqiuming
  • chengqiuming
  • 2017-04-12 09:49
  • 1482

Java提高:采用异常链传递异常

一、分析           异常需要封装,但是仅仅封装还是不够的,还需要传递异常。一个系统的友好型的标识,友好的界面功能是一方面,另一方面就是系统出现非预期的情况的处理方式了。二、场景   ...
  • p106786860
  • p106786860
  • 2013-09-22 09:40
  • 8081

Java 异常创建及控制

最近在重新拾起Java,想开始分享一些自己的表达,就从这里开始了。 Java中有一个Throwable类,它是所有异常或者说是违例的基础,包括了两种类型的异常:一种叫Error,表示的是编译器和系统错误,我们通常不需要去在意它们。另一种叫Exception,运行时的异常。接下来会介绍异常的创建和捕...
  • xiao_fraker
  • xiao_fraker
  • 2016-09-17 13:07
  • 1290
    个人资料
    • 访问:2936次
    • 积分:216
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条