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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 杨锦 于 2012-7-1 20:11 编辑

老毕通常都是直接抛一下,而说让我们要try,一直对异常这一块不太理解,麻烦一起解释一下

5 个回复

倒序浏览
我一直把异常当做调试程序的工具,如果程序一点问题都没有,那么异常处理不处理都可以。异常还有一个作用是提示将来要用你的程序的人,如果用这个方法会出现什么样的异常情况。
回复 使用道具 举报
例如你写一个代码,让程序去读取本地硬盘上的一个文件,结果本地硬盘上没有这个文件,这个时候程序就相当于进行不下去了,出现了问题,就会抛出一个异常。IOEception是所有IO异常中的父类,它下面包涵了很多子类异常,分别对应不同的情况。
回复 使用道具 举报
处理异常是很常见的问题,至于是抛出还是用try catch还要看具体情况,一般情况下都是应该用try catch的,视频上面
抛出异常是为了简便处理,突出重点。还有异常也分为必须处理的和处理不处理都行的,例如runtimeException就是可以不处理的
异常。
回复 使用道具 举报
异常并不等于是程序错误
举个例子,比如你要向磁盘内的一个文件写信息,这个文件存在,但是文件损毁无法打开,这时候你编译程序是可以通过的,但是当执行到这个写操作的时候会提示System.IO.IOException:   文件或目录损坏且无法读取。
异常处理相当于一种补救机制尤其是在做WEB项目的时候,一个JSP页面中出现了异常,你不去做任何处理,那么访问你WEB的人就会看到一个错误页面而无法继续访问你的网站写一段伪代码来说明这个情况
try{
      执行一段操作
      //操作没问题
      现实正常页面
} catch(Exception e) {
      //操作有问题
      显示一个错误页面并跳转回用户操作的前一个页面
}
你想想,你开发的网站,别人去访问,点来点去忽然出现一个JAVA的错误信息,那心情多痛苦
你也可以用if...else来理解
if 如下的操作没问题
       继续
else
       中断前面的操作,跳转入发生错误后你希望实现的操作
回复 使用道具 举报
IOException是Exception下的一个子类,用于解决在进行输入输出及文件处理时程序不正常中断的问题,比如想打开的文件不存在。IOException是必须进行捕获或者声明,否则编译器会提示错误信息。而异常处理则是用try。。。catch。。。finally来进行处理的,try用来存放需要被监测的程序语句,一旦发现异常的话,用catch来捕获这个异常,并在catch块中加以适当地处理。处理完异常之后,如果还有必须执行的代码就放在finally中了。

评分

参与人数 1技术分 +1 收起 理由
职业规划-刘倩老师 + 1 新手报到,鼓励一下,加油哈!.

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马