A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邹园倚 中级黑马   /  2015-5-5 14:51  /  449 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对于异常,自己知道在哪里会出现异常为什么不修改程序而采用try-catch去处理呢?

4 个回复

倒序浏览
百分之百没有错误的程序是不存在的~如果用户故意向程序输入错误数据怎么办,只有抛异常或特殊处理
回复 使用道具 举报
有些程序需要外部组件,所以会出现什么异常情况我们也不知道,所以就用异常处理,比如联网程序,会受到很多因素控制,这时就应该抛异常
回复 使用道具 举报
程序是外部去运行的,不可知因素很多,由于程序的不严谨,可能会出现问题。没有完美的程序。
下面是异常的一些知识:
异常就是程序在运行时出现不正常情况。问题也是现实生活中一个具体的事物,可以通过java的类的形式进行描述并封装成对象,java对不正常情况进行描述后的对象体现。

有两种对问题的划分方式: 严重的和非严重的。
        对于严重的问题,java通过Error类进行描述,一般不编写针对性的代码对其进行处理。
        对于非严重的,java通过Exception类进行描述,可以使用针对性的处理方式进行处理。

异常体系的特点:
异常体系中的所有类以及建立的对象都具备可抛性,也就是说可以被throw和throws关键字所操作,只有异常体系具备这个特点。

异常分两种:编译时异常和运行时异常。
  编译时异常如果编译时没有处理,则编译失败,若异常被标识,代表可以被处理;运行时异常,若发生了建议不处理,直接让程序停止,需要对代码修改。

异常的好处和原则
  好处:将问题进行封装,让正常流程代码和问题代码相分离,方便于阅读。
  原则:处理方式有两种:try和throws;调用到抛出异常的功能时,抛出几个则就要处理几个,一个try可以对应多个catch;多个catch时,父类的catch放到最下面,否则编译出错,因为其下面的catch语句执行不到。
如果捕获到的异常,本功能处理不了,可以继续在catch中抛出;如果问题处理不了,但并不属于该功能出现的异常,或者异常可以处理,当需要将异常产生的和本功能相关的问题提供出去。
回复 使用道具 举报
谢谢各位了!现在弄懂了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马