程序的错误,一种是编译错误,在像eclipse这种时时编译的开发平台上,这一类错误是比较好解决的。另一种是在程序运行时才发生的错误。也就是我们所说的异常。
通常造成异常的原因有两个:一是编程者自身不可预料的逻辑错误,二是可以提前预料的系统自身问题。
一、异常的分类
逻辑错误一般是由于程序员在设计时采用不当的方法所造成的。比较常见的有空指针异常(NullPointerException)和数组下表越界异常(ArrayIndexOutOfBoundsException),下面两段代码便可以验证。
public static void main(String[] args) {
//定义一个字符串变量但是不赋值
String str = null;
System.out.println(str.equals("abc"));
}
public static void main(String[] args) {
//定义一个数组,长度为3
int[] arr = new int[3];
System.out.println(arr[3]);
}
由于这种异常是程序员自身不当的设计所造成的,因此系统自身没有将可能发生的异常抛出。而是在系统内部已经处理了。
另一种由于系统自身问题出现的异常,如:内存空间不足,而程序运行中提出的内存分配得不到满足,就会发生异常;在硬盘上的文件被挪离,导致程序运行文件中文件打不开而发生异常。这些问题,编程者都可以事先预料到,但是不能避免,因为你很难得知此时真正的内存情况或是文件的准确位置。Java文件操作当调用creatNewFile()函数时编译器会提示还有没有解决的异常,此时说明系统将这一类异常抛出,让给程序员自行处理了。
二、异常的处理
以上是异常的分类,下面来谈谈异常处理。首先一个软件很难一次性做到尽善尽美,因此在用户使用的时候难免会出现一些由于异常而造成的错误。我们能做的就是将这些异常控制住,在它出现时用户能够明白,而不是看着黑色的命令行发呆。(就像在一个计算器中,用户输入了10/0,出现的是一行提示,告诉用户除数设不能为零,而不是出现一行ArithmeticException :/ by zero)。这便是异常处理的意义。在可能出现异常的地方通过try块捕获以及catch解决。
当然,有时学习系统抛出异常的方法也是有必要的,假设要在一处对一些异常进行统一处理,可以通过throws将异常抛出,这种抛出指的是将异常抛给调用出现异常函数的函数中,也就是层层上抛。但是最终还是要将其解决的。看下面两种情况。
程序中出现了异常。
将异常抛出,程序员在这里就可以不用处理异常了,但我们来看看另一个地方
在抛异常函数的调用处,也就是是它的上级出现了问题,因此异常是可以层层上抛,但还是最终要对它进行处理的。
上述是对异常概念的理解以及异常处理的简单方法,异常是程序设计中的一个大问题也是大学问,要深刻地了解异常,熟练地处理异常还需要下大工夫学习,更重要的是在平时的编程中多加积累这一方面的经验。
- 大小: 11.7 KB
- 大小: 13 KB
- 大小: 9.7 KB
分享到:
相关推荐
JDK1.7以上的异常体系,需要后续的不断总结和完善,学习jdk必备!
深入理解java异常处理机制,很详细的,去了,你们的!
深入理解java异常处理机制Java开发Java经验技巧共19页.pdf.zip
这些问题旨在考察候选人对Java异常处理的理解和应用能力。通过阅读本文,您将能够深入了解Java异常处理的原理、使用方法以及异常处理的最佳实践。不论您是准备面试还是希望加强对Java异常处理的知识掌握
java异常处理的学习PPT,学习讲的不是很透彻,望理解。
对java异常的工作过程进行详细解释,让初学者更好的掌握异常处理机制
深入理解java异常(异常中的Error+异常中的Exception+检查异常+运行时异常+异常处理+throws关键字等)
深入理解Java异常体系Java系列2021.pdf
适合java初学者对java异常这一块的理解,加深对异常描述的印象
里面讲述了 java 异常体系,简介,及流程,可以让你对异常更加理解
Java异常处理是编写健壮程序的关键方面之一。本资料将帮助您了解异常类层次结构、异常处理、抛出异常、自定义异常和最佳实践。 在Java中,异常被分为受检异常和非受检异常。受检异常需要在编译时进行处理,而非受检...
深刻理解 java 语言中独特的异常处理机制,掌握处理问题的方法。异常处理是java语言中一个独特之处,主要使用捕获异常和声明抛弃异常两种方法来处理程序中可能出现异常的语句块。
java自定义异常类之用户登录,帮助大家更好的理解之定义异常。
Java异常处理的方法和几个例子源码,帮助你理解异常类型、声明异常、抛出和捕获异常、从异常获取信息、创建自定义异常等。
比较能够容易理解java的异常类的文档,适用于初学者学习,可以初步对异常类有一个比较笼统的认识
java基础异常学习ppt 学完本次课程后,你能够 了解异常概念 理解Java异常处理机制 会捕捉异常 会抛出异常 了解Java异常体系结构
这是自己读《深入理解Java虚拟机》时候用XMind建立的思维导图,目的是为了能够帮助自己整理、梳理相关的知识以及方便自己日后的回顾,帮助自己建立起关于JVM的知识体系,里边也有一些对相关内容的补充,通过备注的...
设计一个简单的文本编辑器,可以实现多文件处理、实现文件的创建、浏览、编辑(允许文件复制和修改)、对已经修改的文件可以进行保存或以另存的文件名称保存。.
帮助大家复习java基础知识其中有 hashCode 2 toString 2 finalize 2 用已学知识做出简单的房屋出租系统 3 类方法使用注意事项和细节讨论 4 main()方法 4 代码块 4 代码块使用注意事项和细节 5 单例模式 6 final...
仔细阅读本章各知识点的内容, 深刻理解 java 语言中异常处理机制,掌握处理问题的方法,多练习,多上机。