知识大全 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程序去测试另一个虚拟机上java程序运行时的内存CPU资源占用情况  解决问题的限制和条件  》两个虚拟机运行在同台Windows_

知识大全 java之单例设计模式

  设计模式解决某一类问题最行之有效的方法(java中有种通用设计模式)  单例设计模式解决一个类在内存中只存在一个对象  单例设计模式有两种方式  )饿汉式  先初始化对象当类一进内存就创建好对象 

知识大全 Linux下java的Swing/AWT程序乱码解决

Linux下java的Swing/AWT程序乱码解决  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Java多线程支持如何才能解决接口问题

Java多线程支持如何才能解决接口问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java多

知识大全 跟你一起分析JAVA中文比较问题的解决

跟你一起分析JAVA中文比较问题的解决  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java的

知识大全 Java多线程如何解决关键字封锁问题

Java多线程如何解决关键字封锁问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java多线

知识大全 Java编程技术中汉字问题的分析及解决

Java编程技术中汉字问题的分析及解决  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在基于Ja

知识大全 Java SynDemo对象如何解决继承问题

JavaSynDemo对象如何解决继承问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Jav

知识大全 如何解决Java ME设备碎片问题

如何解决JavaME设备碎片问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一次编写随处运行

知识大全 Java web解决常见编码出现的问题

Javaweb解决常见编码出现的问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n