社区
Java SE
帖子详情
【疑惑】JAVA异常处理
feixianxxx
2009-08-03 02:47:10
个人感觉异常处理 挺麻烦 挺难的
不知道各位什么看法 它重要么
你们平时都用么?
谢谢指教
...全文
323
40
打赏
收藏
【疑惑】JAVA异常处理
个人感觉异常处理 挺麻烦 挺难的 不知道各位什么看法 它重要么 你们平时都用么? 谢谢指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
40 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yktd26
2009-08-11
打赏
举报
回复
写的时候嫌烦,维护的时候嫌少
mianfeidog
2009-08-11
打赏
举报
回复
学习。
shengli_liao
2009-08-11
打赏
举报
回复
个人也赞成“异常打破了程序只有唯一返回值规范”的观点,
异常常常使得代码的重构(如构造新的子函数)变得异常啰嗦,
追踪JDK源代码可以发现至少30%的代码在处理异常,
同时每个函数都抛出好几个异常,让人看着有些生厌。
还有人建议大量的自定义异常,如果真的这样,
复杂臃肿还需大量扩展的异常使得代码的可读性不知从何说起。
feixianxxx
2009-08-11
打赏
举报
回复
为什么有时候写程序不抛出异常 他就会语法错误
不是可有可无么
Seven_23
2009-08-07
打赏
举报
回复
其实不用觉得异常很深奥,我个人觉得它查只是JAVA在运行时候的一种行为而已,根据异常找到相应的代码,
查找原因,并根据你的需求来处理就好了。我觉得异常还是挺重要的,在写项目的时候,异常处理的好坏,
对用户的使用有很大的影响。
abc130314
2009-08-07
打赏
举报
回复
熟练之后,程序很健壮,而且结构也非常清晰。
lcb521
2009-08-06
打赏
举报
回复
首先要了解以下异常的含义:
1)检查性异常:java.lang.Exception
(2)运行期异常:java.lang.RuntimeException
(3)错误:java.lang.Error
对异常的处理,有一条行之有效的默认规则:向上抛出-----被调用类在运行过程中对遇到的异常一概不作处理,而是直接向上抛出,一直到最上层的调用类,调用类根据应用系统的需求和特定的异常处理规则进行处理,如向控制台输出异常堆栈信息,打印在日志文件中。用一句形象的话来说,就是谁使用,谁(最上层的调用类)处理。
feixianxxx
2009-08-06
打赏
举报
回复
没人了?
feixianxxx
2009-08-05
打赏
举报
回复
可是不知道哪些异常 对一个新手来说 那很困难
chen_yaojing
2009-08-05
打赏
举报
回复
一步一步調試
lendlice222
2009-08-05
打赏
举报
回复
异常处理不用是很不合适的吧
总体来说还是很有用的 有了抓抛 你可以处理修正一些简单的错误 不至于让程序中断
有时候你要把一句话输出到一个文件里 但是这个文件不存在 你就可以通过抓抛出的异常 然后创建出这个文件 然后就能输出了 这样虽然有了异常 但是你的程序一点没有收到影响
有时候可以通过抛出的异常 来实现人机对话
比如你写一个游戏 要求玩家输入一个数字 但是他输入了一个字符 那你在转换这个数字的时候 会抛出个NumberFormat的错误 你就可以在这个catch里写上一句输出语言 System.Out.Println("请输入合法是字");
wanghf_
2009-08-05
打赏
举报
回复
异常写的好对程序的运行也就很了解了
yhmdeiog
2009-08-05
打赏
举报
回复
最好还是写上,这样出错了,容易找到些
islandrabbit
2009-08-05
打赏
举报
回复
[Quote=引用 22 楼 feixianxxx 的回复:]
up
[/Quote]
http://topic.csdn.net/u/20090805/01/863b40a4-fcda-4cc7-9adb-0d6356969b8a.html?69082
wlm007007007007
2009-08-05
打赏
举报
回复
这个不太懂,但是帮顶一下,期待高手出现,希望楼主能尽快解决难题
feixianxxx
2009-08-04
打赏
举报
回复
[Quote=引用 10 楼 java2000_net 的回复:]
先搞清楚什么是异常,然后再考虑为何要处理异常!
[/Quote]
大大 谈谈你的经验吧 这方面的。。
tnubi
2009-08-04
打赏
举报
回复
我今天坐车回家, 一个人说要下车, 售票员问那个人 :“请问你在哪下 ?”,那个人说:"黄家摆子"! 我
坐在售票员的旁边 我听他小声的重复一遍:后来对司机高喊 :“黄家摆子有下的----黄家摆子 ”
这时让我想起来java异常的问题:
1, 售票员明显不清楚“黄家摆子” 在什么地方(也许他是新来的),
他可以问那个要下车的人“黄家摆子”是什么地方
但是他没问 -- 可问可不问的 我想应该是java中的RuntimeException (可逮可不逮)
2,如果司机知道那是什么地方,车到达是停车就OK了,没什么异常。
如果司机不知道那是什么地方,一定抛异常了,
他会问那个要下车的人"黄家摆子"在哪 ?
这就是java 当中的 Exception (有了异常必须逮住的)
3,如果要下车的人回答了司机的问题 告诉司机就OK了
但是那个要下车人的笑(*^__^*) 嘻嘻……的 说 :“不知
道” !那完蛋了 上来一个精神病 这就是java虚拟机出问
题了 也就是我们说的 Error这 (司机根本处理不了)个时候
我们该找警察叔叔了!!!
火龙果被占用了
2009-08-04
打赏
举报
回复
异常在 Java 中是相非常重要的概念必须掌握,否则很难学好。
再说一些,如果抛出异常类是继承自 RuntimeException 的话,即运行期异常时,Java 编译器
不会强行要求进行捕获。
对于运行期异常来说 java.lang.IllegalArgumentException 和 java.lang.IllegalStateException
几乎可以囊括所有的运行期的异常了,呵呵。
火龙果被占用了
2009-08-04
打赏
举报
回复
如果写的方法是提供给其他地方调用的话,那么所有的异常最好全部抛出,由调用处来捕获异常,
根据不同的异常采取不同的措施。
比如说,JDBC 连接数据库,在写代码之前应该想到在方法执行时可能会有什么情况产生,比如:
1,JDBC 驱动程序不存在
2,网络未连接,无法与数据库服务器进行连接
3,数据库服务尚未启动,数据库服务端的端口没找到
4,数据库服务器繁忙,导致连接超时
5,在连接时用户名或者是密码错误
6,操作一个不存在的数据表、字段
7,在操作数据表时没有权限
等等之类,在代码中都可能会产生异常。
如果在异常产生时,优秀的代码不会只在 catch 块中写句 e.printStackTrace(); 就完事。
而是会根据不同异常块采取不同的措施。比如说:类没找到,就在异常块中写入信息告诉
调用类没找到;数据库连不上的话,也可以抛出异相应的异常,或者说采用一些应急策略,
类似过两分钟再连接等等之类的。
楼主所称的异常处理很难,不知道是否能举个例子说明一下,我认为这样回复比较有针对性。
feixianxxx
2009-08-04
打赏
举报
回复
up
加载更多回复(20)
Java
中什么时候throws_什么时候在
Java
方法声明中使用throws?
博主表示对
Java
异常处理
有基本了解,但阅读代码时对throws的使用产生
疑惑
。以一个包含throws和try/catch块处理IOException的方法为例,探讨在这种基本
异常处理
场景中使用throws的原因,认为仅用try/catch块似乎就足够。
读《
java
编程思想》---疑问
本文详细探讨了
Java
编程中接口与抽象类的应用价值,深入分析了
异常处理
流程及其实现意义,同时介绍了类型处理、泛型机制、注解使用、并发控制及JVM基础知识。通过总结
疑惑
,为读者提供了一个全面理解
Java
核心概念的框架。
Java
异常的深入研究与分析
本文深入探讨了
Java
异常处理
机制,详细解释了
异常处理
的流程、异常结构、不同类型的异常(Error、RuntimeException、CheckedException)以及如何在方法中抛出异常和使用finally块释放资源。同时,文章解决了关于在catch块中抛出异常后finally块执行顺序的
疑惑
,并介绍了如何在自定义异常中保留原始异常堆栈信息,以便于后续的错误排查。
Java
之速记(1) - 小结与
疑惑
本文回顾了
Java
语言的基本知识,并深入探讨了数据结构、设计模式、
异常处理
和继承重写等核心概念。同时,针对具体的
疑惑
,如异常使用、继承重写实践,提供了实用的经验分享。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章