知识大全 java程序设计与问题解决
Posted 知
篇首语:盛年不重来,一日难再晨。及时当勉励,岁月不待人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java程序设计与问题解决相关的知识,希望对你有一定的参考价值。
异常处理允许读者为程序的正常情况单独设计和编写代码 并与不正常情况下的处理代码分开
throw语句的作用类似一个方法调用 但它并没有去调用一个方法 而是调用了catch块
预定义的异常类Exception是所有异常类的祖先 我们也可以定义自己的异常类
如果程序试图使用一个越界的数组索引 就会抛出一个ArrayIndexOutOfBoundsException异常 除非在一个catch块中把这个异常捕获 否则程序就会结束 对于这种特殊的异常 通常不在catch中捕获它 这种异常说明代码有逻辑错误 需要更改代码而不是捕获异常 因此这种异常通常起到运行时提示错误的功能 而不是异常的功能
自定义异常类时 构造器通常是仅有的不是从基类中继承的方法
在定义异常类时 应当保留getMessage不变 为了保证这个功能 应当在自定义异常类的构造函数中调用super(message) public MySpecialException(String message)
super(message) …
如果要在自己的代码中插入throw语句 最好定义自己的异常类 这样当自己的代码捕获一个异常时 多个catch块可以区分自己的异常和预定义的类中的方法抛出的异常 这样能更精确的捕获异常已经做异常处理(领会精神)
声明异常(类比推脱责任)
加入有个方法methodA声明如下 public void methodA() throws DivideByZeroException在这种情况下 methodA就免除了捕获在其执行期间所抛出的任何DivideByZeroException类型的异常的责任 而输入有一个methodB方法中包好对methodA的调用 则methodB必须捕获并处理这个异常
如果一个方法抛出了异常 而这个异常没有在此方法中被捕获 则这个异常抛出后 该方法的调用立即结束
如果某个方法在其throws子句中列出了一个异常 且某段代码中有对该方法的调用 则代码必须捕获此异常或者在throws子句中声明此异常
如果在派生类中重定义某方法 则重定义的方法的throws的子句不能包含基类中同一个方法的throws子句中没有列出的异常 但是可以减少重定义的方法的throws子句中声明的异常
断言检测失败时会抛出AssertionError类的异常 一般这个异常不会被某个catch块捕获 但是如果愿意 可以将其捕获 只是这种做法不常见
Error类或RuntimeException类的子孙类异常不需要被catch块捕获或被throws子句声明 其实这些类并不是异常 只是其表现类似异常 因此也把它们看做异常
对于多重抛出和捕获 首次捕获时需捕获更明确的异常
throw语句并不是抛出异常的唯一一种语句 方法调用也能抛出异常 (明确的说 方法调用可以抛出其throws子句中声明的异常)
如果可以用别的方法容易解决问题 就不要抛出异常
大多数情况下 throw语句应当用在方法内且在该方法的throws子句中声明 也就是把抛出异常和捕获异常分离到单独的不同方法中去
在catch块内抛出异常是合法的
cha138/Article/program/Java/hx/201311/26756相关参考
用第一个java虚拟机启动另一个虚拟机并用第一个虚拟机的java程序去测试另一个虚拟机上java程序运行时的内存CPU资源占用情况 解决问题的限制和条件 》两个虚拟机运行在同台Windows_
设计模式解决某一类问题最行之有效的方法(java中有种通用设计模式) 单例设计模式解决一个类在内存中只存在一个对象 单例设计模式有两种方式 )饿汉式 先初始化对象当类一进内存就创建好对象
知识大全 Linux下java的Swing/AWT程序乱码解决
Linux下java的Swing/AWT程序乱码解决 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java多线程支持如何才能解决接口问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java多
跟你一起分析JAVA中文比较问题的解决 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java的
Java多线程如何解决关键字封锁问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java多线
Java编程技术中汉字问题的分析及解决 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在基于Ja
JavaSynDemo对象如何解决继承问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Jav
如何解决JavaME设备碎片问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一次编写随处运行
Javaweb解决常见编码出现的问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n