- 浏览: 506279 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (200)
- java基础 (30)
- ajax (19)
- 乱写 (5)
- groovy (2)
- db (8)
- gwt (0)
- jee (2)
- 我关注的开源 (1)
- RIA AIR (1)
- spring (11)
- lucene (0)
- 工具 (10)
- 百科 (2)
- linux (6)
- android (40)
- 移动开发 (21)
- 代码片断 (15)
- tomcat (1)
- css (1)
- html5 (2)
- jquery (2)
- playframework (3)
- web (2)
- nio (3)
- design (1)
- nosql (3)
- 日志 (12)
- mysql (4)
- 图表 (1)
- python (3)
- ruby (1)
- git (0)
- hibernate (1)
- springboot (1)
- guava (1)
- mybatis (0)
- 工作问题 (3)
- php (1)
最新评论
-
linzm1990:
踩了很多坑啊。。。。
hibernate @Nofound 与@ManyToOne fetch lazy的问题 -
Ccccrrrrrr:
...
转: Spring boot 文件上传 -
rmzdb:
兄弟,你这个东西,在ie内核的浏览器,貌似不识别 文件名
工作问题:http下载文件,中文文件名在firefox下乱码问题 -
107x:
问题解决了,谢谢!
工作问题:http下载文件,中文文件名在firefox下乱码问题 -
klxqljq:
额鹅鹅鹅
android布局实现头尾固定, 中间多余内容可以滚动
java 程序声明异常时,父类的某个方法声明了异常的抛出,那么子类需要声明异常的抛出吗?针对这个问题,本篇文章将应对各种情况作出分析。
● 父类有无参构造函数且未声明任何异常的抛出
子类可以在任何一个构造函数中声明抛出任何异常。因为构造子类前只会调用父类的无参构造函数,构造父类时不会出现异常,子类的任何一个构造函数是否抛出异常都无所谓。
● 父类有有参的构造函数
不管它是否声明了异常的抛出,子类无需写同样的构造函数,写了也不用声明抛出同类异常,因为构造子类对象前只会调用父类的无参的构造函数。
● 父类有无参构造函数且声明了异常抛出
子类必须在它的任何一个(子类构造前会调用父类的无参构造函数,由于父类声明了异常,因此在子类的构造函数中要么继续声明抛出,要么使用 try
catch 块。若父类声明的是
RuntimeException,那么子类可以不声明异常的抛出)构造函数中声明异常的抛出,且抛出的异常类型至少和父类异常类型一致,也可以父类异常
类型的父类,同时还可以抛出其它类型的异常。
● 父类的方法未声明任何异常的抛出
子类覆写此方法时不能声明任何异常(除了 RuntimeException)的抛出。
Parent P = new Child(); /** * 由于 Parent 声明调用 hello 方法时不会出现异常,可是 Child 覆写 hello 方法时却声明需要抛出异常。 * 根据多态,以下的调用将调用 Child 的 hello 方法(需捕捉异常),而调用者却是 Parent,Parent 声明 * 没有异常。因此暴露給我们的是 Parent 引用,我们不会去捕捉异常,这样就矛盾了,所以子类覆写父类时 * 不能抛出异常。 */ p.hello();
● 父类的方法声明了异常(RuntimeException)的抛出
子类可以不做异常抛出的声明,也可以声明任何 RuntimeException 的抛出。
● 父类的方法声明了异常(非 RuntimeException)的抛出
子类可以不做异常抛出的声明。一旦声明了,那么其异常类型至多和父类声明的异常类型一样,包括可以是父类异常类型的子类。
Parent p = new Child(); /** * 由于 Parent 声明调用 hello 方法时调用者需要捕捉异常。Child 覆写 hello 方法时未声明异常的抛出。 * 根据多态,以下的调用将调用 Child 的 hello 方法(不需捕捉异常),调用者是 Parent,Parent 声明需要 * 捕捉异常。因此暴露給我们的是 Parent 引用,尽管调用的是 Child 的 hello 方法(不需要捕捉异常),我们 * 在下面程序段捕捉异常也不矛盾,Parent 声明异常只是告知在调用 hello 时有可能会发生异常,子类实现不 * 出现异常与这并不矛盾。 */ try { p.hello(); } catch (Parent 类声明的异常类型 e) { ... } /** * 由于 Parent 声明调用 hello 方法时调用者需要捕捉异常。Child 覆写 hello 方法时声明了异常的抛出。 * 根据多态,以下的调用将调用 Child 的 hello 方法(需捕捉异常),调用者是 Parent,Parent 声明需要 * 捕捉异常。因此暴露給我们的是 Parent 引用,我们要在以下程序段捕捉 Parent 类声明的异常类型,因此 * 子类(Child) 覆写时声明的异常类型必须是父类声明异常类型的子类(子集) */ try { p.hello(); } catch ((Parent 类声明的异常类型,Child 类声明的异常类型应该是 e 的子类或者就是e) e) { ... }
● 子类继承父类的同时还实现了某一接口
若接口和父类有同样的函数签名,声明抛出的异常类型不同,只有一种情况允许这样:子类覆写该方法,不声明任何异常抛出。若不这样覆写的话,将不会通过编译。接口中的方法在父类中不存在,子类实现方法时就把接口当作父类。
发表评论
-
ChartDirectorvk如何测试文本的长度跟宽度
2012-11-30 15:53 1137在使用charDirector画图时, 要确定setPlotA ... -
Java调用外部程序技巧
2012-08-24 13:43 1323http://www.yankay.com/java%E8%B ... -
java中的协变
2012-08-14 09:10 1154协变是指一个类型随着它关联的类型一起变化,有点抽像,java中 ... -
jdbm
2012-07-11 15:20 1334jdbm4也发布部分代码了, ... -
使用java实现grep功能(FileChannel, Pattern, MappedByteBuffer 直接字节缓冲区,其内容是文件的内存映射区域)
2012-02-23 10:42 2962利用正则表达式查找一系列文件,类似于grep功能. 演示了 N ... -
并发--Effective Java的一小段代码
2012-02-20 17:14 1207import java.util.concurrent.T ... -
JAVA使用EPoll来进行NIO处理的方法
2012-02-14 09:20 1033JDK 6.0 以及JDK 5.0 update 9 的 ni ... -
java里的枚举
2011-12-30 15:03 1163参考: http://www.ibm.com/develope ... -
项目中用到的一个小工具类(字符过滤器)
2011-10-25 09:08 1057见: http://javatar.iteye.com/blo ... -
下载处理Servlet工具类
2011-10-25 09:06 959转自 http://javatar.iteye.com/blo ... -
局部类访问外部final变量
2011-01-26 12:21 1149在局部类, 我们要更新封闭作用域用的变量, 这一般来说是不容易 ... -
tomcat开启gzip
2011-01-21 13:46 1209在conf/server.xml中找到第一个Connector ... -
maven中国地址
2011-01-06 13:37 3335maven的中国mirror <mirror> ... -
java范型小记
2010-12-18 17:51 01. Collections.<String>em ... -
jsp里的${}和jquery template的${} 怎么样转义
2010-12-16 14:38 4806ttp://www.infoq.com/cn/news/201 ... -
正则表达式
2010-11-30 08:27 1393由于项目中需要用到正则表达式,再一每次使用正则表达式时都要查资 ... -
Java Web 应用程序的字符编码问题
2010-11-30 08:13 1104Java Web 应用程序经常会出现乱码的情况,这里可以通过 ... -
JVM参数调优(带JMX)
2010-09-09 08:48 1392JAVA_OPTS='-d64-Djava.rmi.serve ... -
java Bridge method
2010-08-06 15:15 2314bridge method may be create ... -
tomcat SEVERE: StandardServer.await: create[8005] : java.net.BindException: Cann
2010-04-16 09:16 3591今天在启动tomcat时发现 Apr 16, 2010 8: ...
相关推荐
java 文件名大小限制异常类java 文件名大小限制异常类java 文件名大小限制异常类java 文件名大小限制异常类java 文件名大小限制异常类java 文件名大小限制异常类java 文件名大小限制异常类java 文件名大小限制异常类...
因此,通常情况下我们将检查型的异常转换为运行时异常抛出,这样就可以将指定的异常限制在指定的模块中,比如将SQLException放入到DAO层,这样就可以把具有明确的遗产信息的运行时异常抛出到客户层。 3.6 减少不必...
java 文件名称超长限制异常类 java 文件名称超长限制异常类java 文件名称超长限制异常类 java 文件名称超长限制异常类java 文件名称超长限制异常类 java 文件名称超长限制异常类java 文件名称超长限制异常类 java ...
论文研究-现货市场异常波动下股指期货交易限制对市场质量的影响分析.pdf, 通过计算机仿真构建了基于投资者策略的跨市场金融平台,提出了异常波动下交易限制措施对市场...
1.异常和标准 C 对它的支持 2. Microsoft 对异常处理方法的扩展 ...12. unexpected()的实现上固有的限制 13. 异常安全 14. 模板安全 15. 模板安全(续) 16. 指导方针 17. C++异常和 Visual C++ SEH 的混合使用
Java中的构造函数并不受到覆盖方法的异常限制。这意味着子类构造函数可以抛出任何类型的异常,而不必考虑父类构造函数可能抛出的异常。然而,当创建子类对象时,父类的构造函数会被自动调用。由于子类构造函数不能...
但同时,异常检测也存在一些限制,如计算复杂度高、需要大量数据等。 8. 未来发展方向 未来,异常检测在网络安全技术中的发展方向将包括异常检测算法的改进、网络攻击检测的自动化和智能化、异常检测在物联网中的...
为了解决上述问题,本文提出了一种新的算法,旨在打破Java精确异常的要求对指令调度的限制,同时又能保证异常发生时精确异常的要求不被破坏。该算法的核心思想是在确保满足精确异常要求的前提下,尽可能地提高指令级...
5. **SEH的限制** - **不跨平台**:SEH是Windows特有的,其他操作系统不支持。 - **不兼容C++异常**:虽然两者可以共存,但直接处理C++异常可能会导致问题,需要小心设计。 6. **与C++异常的配合** VC6允许同时...
用户密码的合法化验证,要求密码由4到6个数字组成,若长度不落在这个范围或不是由数字组成,抛出自己的异常。
在Linux系统中,异常测试是确保软件或服务在面临异常情况时仍能稳定运行的关键环节。这个名为"linux异常测试脚本合计"的项目显然关注的是利用shell脚本来模拟和测试各种异常状况,以评估系统或应用的健壮性和容错...
在实验中,原本使用数组存储银行客户和账号的限制被`ArrayList`取代,这样就可以根据需要增加或减少客户和账号的数量,而无需预先确定其大小。 4. **Account类代码修改**: `Account`类是所有账户的抽象基类,包含...
在Unity游戏开发中,确保应用在遇到错误时能够稳定运行并提供有效的反馈至关重要。"unity 捕捉异常和移动设备崩溃Android"这个主题...同时,对移动设备的特性和限制有深入理解,将有助于构建更加健壮和用户友好的游戏。
4. 故障隔离:将异常影响范围限制在最小,避免故障扩散。 5. 问题分析与修复:根据日志信息定位问题,修复异常源。 6. 回复服务:确认修复后,重新启动服务或部分服务,确保业务正常运行。 7. 后期优化:对异常进行...
这些异常通常属于JVM层面的异常,或者是由程序逻辑错误和资源限制等因素引起的。 了解和掌握这些异常,对于编写健壮的Java程序至关重要。开发人员需要根据异常的类型和上下文信息来合理处理这些异常,或者通过抛出...
用户在使用此补丁时,应了解可能存在的法律风险,并且要遵循正确的安装步骤,以免导致软件功能异常。同时,这也反映出软件开发者与用户之间的动态平衡,一方面开发者通过时间限制鼓励用户购买完整版,另一方面,用户...
* DUP_VAL_ON_INDEX(ORA-00001):对于数据库表中的某一列,该列已经被限制为唯一索引,程序试图存储两个重复的值 * VALUE_ERROR(ORA-06502):在转换字符类型、截取或长度受限时,会发生该异常 * STORAGE_ERROR...
在C++中,“异常”这个词的含义较为广泛,它既可以指标准异常处理机制中的异常,也可以指微软特定的结构化异常处理(SEH)中的异常。为了清晰起见,作者对“异常”进行了分类。 - **标准异常**: 这些异常是C++标准中...