什么叫java异常,一直没有理解。

[复制链接]
查看11 | 回复6 | 2011-9-5 08:03:56 | 显示全部楼层 |阅读模式
抛出异常有什么作用。。。。
回复

使用道具 举报

千问 | 2011-9-5 08:03:56 | 显示全部楼层
你在编写程序的时候,会考虑到很多情况,比如出现A情况怎么办,出现B情况怎么办,但不管你的思想有多么缜密,总有一些情况你是无法考虑到的,或者它本身就是不可预知的,就好比你考虑到了你的程序所有代码都安全了,但没考虑到联网的时候,有个客户端给你发送了一个不合法的地址,从而造成程序不能处理,从而崩溃;又或者你需要访问数据库读取一条记录,本身就会面临记录不存在,或者有其他程序正在修改,从而锁定这条记录的情况。面对这种种你想不到或者有可能出错的行为的时候,就要用到异常。Java的异常就是提示你来处理这些各种你没想到却出现的情况,或者那些有问题的操作,从而完善的程序——因为如果不用解决的话,上面提到的这些操作会立刻被JVM中断,但程序会因为情况无法处理而中断,也就是崩溃了。抛出异常,意思就是JVM在通过异常机制取得了这些意外情况的具体信息之后,把这些信息以一个异常的形式反馈给你,意思是“这里出现了意想之外的情况”。而你要做的,就是根据异常的具体提示信息,判断到底是哪里出现了问题,进行有针对的修改。简而言之,异常是JVM对程序的一个保护机制,也是程序员用来调试程序的最可靠手段。
回复

使用道具 举报

千问 | 2011-9-5 08:03:56 | 显示全部楼层
异常可以理解为不合理的不确定的最简单的例子被除数不能为0如果是0的话就会抛出异常这里被除数为0就是不合理的还有不确定的各种java的io好多都用到了异常尤其是读取文件的时候如果这个文件不存在就会抛出异常当然本机的话还好说但是从网络上获取呢??这个没人能保证一定会存在如果这个读不到这个文件程序怎么继续运行~这里就是异常大显身手的地方了
回复

使用道具 举报

千问 | 2011-9-5 08:03:56 | 显示全部楼层
异常和错误有区别的,异常是编译后才有的,错误是在没有编译就发生错误啦
回复

使用道具 举报

千问 | 2011-9-5 08:03:56 | 显示全部楼层
类似java异常这样的问题,不难,建议你去北风网看一下他们的J2EE方面的课程。有解决这个问题的方法参考资料:baike.baidu.com/。http://www.ibeifeng.com/goods.php?id=116。HTMA
回复

使用道具 举报

千问 | 2011-9-5 08:03:56 | 显示全部楼层
可以理解意料之外的情况,异常又分很多类如:编译异常,运行时异常及不可预料异常如:断电,断网,服务器宿机等等。
回复

使用道具 举报

千问 | 2011-9-5 08:03:56 | 显示全部楼层
java异常可以分为两大类:ExceptionRuntimeException他们都实现了Throwable。Java异常很有必要,请研究以下下面的情景:1)多人开发Java程序,需要制定错误信息反馈机制,使用异常机制能很好的满足要求。比如订单金额大于50000后需要进行审批,如果未执行审批便抛出“订单超额未审批异常”。这样,所有关于订单超额未审批异常的处理方式可以一致化。程序员只要截获“订单超额未审批异常”,并调用订单超额未审批异常的处理方法便能够处理这一业务逻辑。2)在数据库事务管理过程中,无论是Spring的声明式事务管理还是J2EE5(含以后)的容器管理事务,若抛出运行时异常(RuntimeException)便可回滚事务。所以异常机制是非常有用的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行