- 浏览: 1192912 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (883)
- Spring (101)
- Swing (1)
- Mysql (21)
- Js (59)
- Jsp (2)
- Hibernate (19)
- Myeclipse (5)
- SqlServer 2000 (2)
- poi (15)
- Java (70)
- SSH (12)
- Html (47)
- Fusion Charts (1)
- C\C++ (2)
- 汇编 (36)
- Jquery (37)
- Struts2 (6)
- Ubuntu (16)
- powerDesinger (4)
- Jboss (3)
- JAX-RS (13)
- JAXB (5)
- JAX-WS (11)
- JMS (4)
- WebSocket (8)
- PHP (16)
- Flash (1)
- maven (3)
- Oracle (8)
- HttpClient (6)
- sqlserver (19)
- svn (5)
- Tomcat (3)
- Jdbc (3)
- EsayUi (11)
- 微信公众平台 (19)
- IIS (2)
- Freemarker (11)
- Comet (1)
- Spring MVC (85)
- JBoss Seam (3)
- 二维码 (9)
- Spring Security (4)
- Ehcache (3)
- Apache Shiro (7)
- jackson (16)
- JPA (8)
- jcaptcha (2)
- RSA (2)
- Ajax (6)
- 跟我学Shiro (0)
- Spring4 (19)
- 跟我学spring3 (0)
- css (32)
- excel (4)
- Filter (3)
- 微信公众帐号开发教程 (0)
- Android (6)
- log4j (6)
- 淘宝接口 (17)
- 支付集成 (3)
- 单点登录 (3)
- Html5 (27)
- 移动平台前端 (3)
- Linux (44)
- FusionCharts (27)
- Json Jackson Xml (5)
- 方培工作室-微信开发 (0)
- Apache与Tomcat与IIS整合 (10)
- Nginx (17)
- webService (2)
- apache (4)
- lucene (3)
- lodop (2)
- Shiro (3)
- zTree (2)
- ireport (12)
- Servlet3.0 (5)
- 前端美工 (19)
- AngularJS (1)
- C#开发微信门户及应用 (0)
- Shell (3)
- bat脚本 (16)
- Bootstrap (26)
- Less (10)
- photoshop (6)
- Redis (6)
- Mongodb (10)
- MyBatis (3)
- 数据结构 (0)
- 读写分离-主从复制 (0)
- JFinal (0)
- 百度地图api (3)
- hadoop-hbase-hive-spark (3)
- WebStorm (2)
- Quartz (5)
- ios (0)
- Mina (8)
- Android Studio (4)
- Ratchet教程 (0)
- 移动端重构系列 (1)
- cubic-bezier贝塞尔曲线CSS3动画工具 (1)
- nginx+tomcat+memcached集群 (0)
- 集群 (0)
- ZooKeeper (3)
- Dubbo (0)
- vpn (0)
- kafka (0)
- JVM垃圾回收机制 (0)
- 微信小程序 (0)
- Lua (0)
- Hystrix (0)
- Vue.js (0)
- mycat (0)
- Openresty (0)
- springBoot (0)
- 新分类 (0)
- guava (0)
- 大数据 (0)
- Sentinel (0)
最新评论
-
JackMacing:
中文怎么解决?
SpringMVC与iReport(JasperReports) 5.6整合开发实例 -
18335864773:
用pageoffice把.可以实现在线的文档操作.直接转pdf ...
转:使用jasperreport动态生成pdf,excel,html -
linhao0907:
推荐一款轻量开源的支付宝组件:https://github.c ...
关于Alipay支付宝接口(Java版) -
songronghu:
太好了,非常有用,谢谢分享~
Java ConcurrentModificationException 异常分析与解决方案 -
wzwahl36:
http://www.atool.org/json2javab ...
Java下利用Jackson进行JSON解析和序列化
一、内层方法抛出异常,外层方法捕捉并处理异常: public void methodA (){ try{ // 调用methodB methodB(); } catch(ExceptionType et){ // 相应处理措施 } } public void methodB throws ExceptionType{ if (condition is true) { // 相应处理措施 } else { throw new ExceptionType(argument); } } 在这个例子中,方法B的头部中声明了该方法会抛出一个类型为ExceptionType的异常,在方法体中使用throw子句抛出了一个异常,那么该异常被谁捕捉到呢,答案是方法A。因为异常抛出后,JVM会顺着该方法的调用栈一层一层的往上找。因为方法A中有一个catch(ExceptionType et),所以被抛出的异常会被捕捉到并处理。 二、方法中自己捕捉,处理异常: public methodA() { try { // 可能产生异常的语句 } catch (ExceptionType et) { // 相应的处理 } } 在这个例子中,方法A使用了try-catch语句块,那么意味着在方法中所产生的ExceptionType类型的异常都会被捕捉到并在方法内处理。 三、内层方法抛出一个异常,但本身又有try-catch public methodB() throws ExceptionType{ try { // 可能产生异常的语句 } catch (AnotherExceptionType aet) { // 相应处理措施 } } 在这个例子中有两种异常处理情况,抛出异常和捕捉异常,如果在try语句块中产生ExceptionType类型的异常的话,会被抛出。如果产生AnotherExceptionType类型的话,则不会被抛出,因为在方法B的头部中并没有声明会抛出该异常。 四、内层方法抛出一个异常,但本身有try-finally public methodB() throws ExceptionType{ try { // 可能产生异常的语句 } finally { // 一定要执行的语句 } } 这个例子与上一个例子很像,不同的是没有catch,但增加了finally。它的意思如果方法B中try语句块中如果产生了异常,则抛出由外层方法处理。然后方法B继续执行finally中的语句 下面列举三种错误的异常处理方法: 一、内层方法抛出一个异常,但本身有捕捉这个异常 public methodB() throws ExceptionType{ try { // 可能产生异常的语句 } catch (ExceptionType et) { // 相应处理措施 } } 在这个例子中,方法B在头部声明了会抛出一个类型为ExceptionType的异常,但在紧接下来的方法体又用了catch(ExceptionType et),如果产生了异常的话,会有什么结果呢?方法B抛出的异常马上被自身的catch捕捉到,所以方法头部的throws实际是没有作用的。外层方法是接收不到方法B抛出的异常对象的。 二、在try中使用了return,在fianlly中又使用了return public methodB() { try { // 可能产生异常的语句 return SOMEVALUE; } catch () { } finally { return SOMEVALUE_2; } } 在这个例证中,我们可以看到在try中返回了SOMEVALUE,那么程序执行到这里是否就结束了呢,其实不是的,因为finally中的语句是肯定会被执行到的,所以最后返回的是SOMEVALUE_2;那么意味者即使程序没有抛出异常,最后也得不到正确的结果。 三、把catch(Exception e)放在所有catch块的最前面 public methodB(){ try { } catch (Exception e) { ... } catch (SubException se) { ... } } 在这个例子中,catch(Exception e)被放在所有catch语句块的最前面,因为Exception所有Exception类型的父类,所以意味着所有在try中产生的异常都会被捕捉到。后面其他的catch都是没有用的,所以一定要把catch(Exception e)放在最后面,如果前面所有的异常类型都不符合,至少保证还有一个可以处理它。 总结: A.如果能够找到一个有意义的方法来捕获异常,就立即引入这个方法 B.否则就应该考虑做某些处理后传递或者再次抛出异常,也可以把异常转换为另一种形式,然后抛出一个新的异常 C.另一个方法是,可以完全忽略这个异常,而把它加到方法的头部的throws语句中,由调用这个方法的方法来处理它 D.通过捕获一个公共的异常超类,可以在一个块里面捕获多个异常,但不能够用一个空的catch语句 块来完全制止一个异常。
发表评论
-
迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的最清楚的好文章(快快珍藏)
2019-07-04 14:11 0https://my.oschina.net/u/41 ... -
系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路
2019-07-04 11:11 0https://my.oschina.net/zhan ... -
五分钟搞懂什么是红黑树
2019-06-01 13:39 0www.360doc.com/content/18/0 ... -
史上最清晰的红黑树讲解(上、下)
2019-05-30 13:43 0https://www.cnblogs.com/Car ... -
JVM调优总结
2019-02-27 17:15 0https://www.cnblogs.com/and ... -
JVM:查看java内存情况命令
2019-02-27 16:59 5376jmap (linux下特 ... -
彻底理解Java的Future模式
2019-01-05 19:35 0https://www.cnblogs.com/cz1 ... -
java怎么传递泛型参数
2018-12-04 11:25 0package test; import java.uti ... -
java的集合(List)取出某一属性的方法
2018-11-23 10:39 0https://blog.csdn.net/qq_40 ... -
java7 WatchService监听文件
2017-08-19 10:24 9544package com.ssh.config ... -
java 常用集合list与Set、Map区别及适用场景总结
2017-07-04 15:49 0转载请备 ... -
(亲测可用)Description Resource Path Location Type Java compiler level does not match
2017-06-13 10:54 0解决办法 在项目上右键Properties-》Pro ... -
易百教程
2017-06-07 14:00 0http://www.yiibai.com/lua/l ... -
Zookeeper中文网
2017-05-26 14:44 0http://zookeeper.majunwe ... -
使用四种框架分别实现百万websocket常连接的服务器
2017-05-25 09:37 0http://colobu.com/2015/05/2 ... -
大数据-鸟窝
2017-05-25 08:52 0http://colobu.com/categorie ... -
Kafka深度解析,众人推荐,精彩好文!
2017-05-24 23:47 0http://www.cnblogs.com/cop ... -
Codis 是一个分布式 Redis 解决方案
2017-05-24 17:58 0http://www.oschina.net/p/co ... -
springmvc之redis篇(spring-data-redis整合)(redis单个和主从配置)
2017-05-23 18:39 0http://www.cnblogs.com/tank ... -
spring+springMvc+mybatis+maven+redis(单个redis配置)
2017-05-23 18:20 0http://blog.csdn.net/mynote ...
相关推荐
本文主要对 JAVA编程过程中的问题进行分解,首先应尽量避免出现错误和异常,针对无法避免和预测的情况要考虑在发生异常的时 候怎样处理。从JAVA语言的概念和特点等方面,对JAVA语言的异常进行了分析,阐述了JAVA语言...
Herbert Schildt 和James Holmes两位编程大师通过将Java应用于某些有趣、实用的计算机问题和编程任务中,全面展示了Java语言的强大功能、敏捷性、多样性和艺术性。本书各章内容分别涉及到Java精髓、递归下降的表达式...
本篇文章是对Java编程中异常处理的优劣进行了详细的分析介绍,需要的朋友参考下
主要介绍了Java编程中的未检查型异常与非检查型异常,以及异常的处理方式,需要的朋友可以参考下
《Java 7并发编程实战手册》适合具有一定Java编程基础的读者阅读和学习。如果你是一名Java开发人员,并且想进一步掌握并发编程和多线程技术,并挖掘Java 7并发的新特性,那么本书是你的合适之选。 《Java 7并发编程...
1 Java中的异常处理机制 2. 4. 2 在Java Servlet中处理异常 2. 4. 3 向浏览器发送标准的HTTP错误 2. 4. 4 服务器端日志记录 2. 5 Servlet在n-层结构中的作用 第3章 会话育理 3. 1 使用传统方法进行会话管理...
第11章 异常处理(exception handing) 154 11.1 try-catch语句 154 11.2 Exception类的种类 157 11.3 可抛出异常的方法 158 11.4 自定义异常 161 11.5 巩固练习 162 第12章 常用API之一 164 12.1 ...
通过观看这些视频教程,您可以更加深入地掌握Java编程和项目开发的技能。 总之,本资源包内容丰富、实用性强,是您完成Java毕业设计的必备宝典。无论您是即将毕业的本科生还是研究生,都值得拥有这份宝贵的参考资料...
java程序输入输出汉字时常常出现乱码现象,针对这一异常,本文首先介绍了java和JSP文件编译时对汉字字符处理的基本原理,接着分析了java程序与其他媒介交互时产生乱码现象的根本原因,最后针对产生异常的每种情况给出了...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
异常的处理办法之三,手动抛出异常,throw子句 103 自定义异常 103 使用异常机制建议 104 总结 105 思考作业 105 上机作业 105 第五章 数组 106 数组概述和特点 106 创建数组和初始化 106 数组常见操作 108 数组的...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
本书第2卷介绍了c++实用的编程技术和最佳的实践方法,深入探究了异常处理方法和异常安全设计;介绍c++的字符串、输入输出流的现代用法;解释多重继承问题的难点,描述了典型的设计模式及其实现,特别介绍了多线程...
通过阅读和分析Java源码,可以帮助学习者深入理解Java编程语言的特性和最佳实践,提高编程技能,解决实际问题。同时,Java源码也是开发人员进行软件开发的基础,可以用于构建各种类型的应用程序和系统。 这个Java...
通过阅读和分析Java源码,可以帮助学习者深入理解Java编程语言的特性和最佳实践,提高编程技能,解决实际问题。同时,Java源码也是开发人员进行软件开发的基础,可以用于构建各种类型的应用程序和系统。 这个Java...
第九章 异常处理 151 一、选择题 151 二、填空题 155 三、判断题 157 四、程序阅读题 158 五、程序题 163 第十章 文件操作 165 一、选择题 165 二、填空题 170 三、判断题 174 四、读程序题 177 五、问答题 182 六、...
Java并发编程 背景介绍 并发历史 必要性 进程 资源分配的最小单位 线程 CPU调度的最小单位 线程的优势 (1)如果设计正确,多线程程序可以通过提高处理器资源的利用率来提升系统吞吐率 ...
通过阅读和分析Java源码,可以帮助学习者深入理解Java编程语言的特性和最佳实践,提高编程技能,解决实际问题。同时,Java源码也是开发人员进行软件开发的基础,可以用于构建各种类型的应用程序和系统。 这个Java...
通过阅读和分析Java源码,可以帮助学习者深入理解Java编程语言的特性和最佳实践,提高编程技能,解决实际问题。同时,Java源码也是开发人员进行软件开发的基础,可以用于构建各种类型的应用程序和系统。 这个Java...