java中异常类型有哪些

建站技术 Nix 2年前 (2022-11-22) 162次浏览

文章摘要:java中异常类型有哪些

java是一门编程语言,在编写的过程中,会遇到异常的情况发生,所以想了解它的异常,那么下面小编给大家介绍jav […]

java是一门编程语言,在编写的过程中,会遇到异常的情况发生,所以想了解它的异常,那么下面小编给大家介绍java异常有哪些类型,一起来看看吧。

java的异常介绍

1、java.lang.nullpointerexception。这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。

对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化。

2、java.lang.classnotfoundexception。这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在"。

这里主要考虑一下类的名称和路径是否正确即可,如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。

3、java.lang.arithmeticexception这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。

4、java.lang.arrayindexoutofboundsexception。这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围。

一般来说,显示调用不太容易出这样的错,但隐式调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,比较好先查看一下数组的length,以免出现这个异常。

5、java.lang.illegalargumentexception。这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常。因此一旦发现这个异常,就要赶紧去检查一下方法调用中的参数传递是不是出现了错误。

6、java.lang.illegalaccessexception。这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。

java异常分类

Error(错误):程序在执行过程中所遇到的硬件或操作系统的错误。错误对程序而言是致命的,将导致程序无法运行。常见的错误有内存溢出,jvm虚拟机自身的非正常运行,calss文件没有主方法。程序本生是不能处理错误的,只能依靠外界干预。Error是系统内部的错误,由jvm抛出,交给系统来处理。

EXCEPTION(异常):是程序正常运行中,可以预料的意外情况。比如数据库连接中断,空指针,数组下标越界。异常出现可以导致程序非正常终止,也可以预先检测,被捕获处理掉,使程序继续运行。

EXCEPTION(异常)按照性质,又分为编译异常(可检测)和运行时异常(不可检测)。

编译时异常:又叫可检查异常,通常时由语法错和环境因素(外部资源)造成的异常。比如输入输出异常IOException,数据库操作SQLException。其特点是,Java语言强制要求捕获和处理所有非运行时异常。通过行为规范,强化程序的健壮性和安全性。

运行时异常:又叫不检查异常RuntimeException,这些异常一般是由程序逻辑错误引起的,即语义错。比如算术异常,空指针异常NullPointerException,下标越界IndexOutOfBoundsException。运行时异常应该在程序测试期间被暴露出来,由程序员去调试,而避免捕获。

写java的工具

java本身就是一门编程语言,它编译生成的文件运行在JVM上(java虚拟机)。JVM是由c语言和汇编语言开发的。基于此之上就是java了,虚拟机是起到解析执行的作用。

JVM是java语言较大的特点,java的优缺点也是缘于JVM技术。JVM是一个可运行Java字节码的虚拟计算机系统。它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信。

还包括一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。JVM屏蔽了与具体操作系统平台相关的信息,使Java程序需要生成在Java虚拟机上运行的字节码,就可以在多种平台上不加修改地运行。这个也是java较大的特色跨平台性,也就是一处编写,处处运行。

JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。这就是java最受人批评的一个地方,运行在JVM上面当然没有直接运行在操作系统上快。所以有人总是说java的运行速度比不上C语言。


声明:
若非注明,本站文章源于互联网收集整理和网友分享发布,如有侵权,请联系站长处理。
文章名称:java中异常类型有哪些
文章链接:http://www.7966.org/post/22351.html
转载请注明出处

喜欢 (0)