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的类库中的要领在一些状况下都邑激发如许的毛病,比方音量调治要领中的音量参数假如写成负数就会涌现这个非常,再比方g.setcolor(int red,int green,int blue)这个要领中的三个值,假如有凌驾255的也会涌现这个非常,因而一旦发明这个非常,我们要做的,就是赶忙去搜检一下要领挪用中的参数通报是不是是涌现了毛病。
6. java.lang.illegalaccessexception
这个非常的诠释是"没有接见权限",当运用顺序要挪用一个类,但当前的要领即没有对该类的接见权限便会涌现这个非常。对顺序中用了package的状况下要注意这个非常。
其他另有许多非常,我就不一一列举了,我要申明的是,一个及格的顺序员,须要对顺序中罕见的题目有相称的相识和响应的解决办法,不然仅仅停留在写顺序而不会改顺序的话,会极大影响到本身的开辟的。关于非常的悉数申明,在api里都可以查阅。
算术非常类:ArithmeticExecption
空指针非常类:NullPointerException
范例强迫转换非常:ClassCastException
数组负下标非常:NegativeArrayException
数组下标越界非常:ArrayIndexOutOfBoundsException
违犯平安准绳非常:SecturityException
文件已完毕非常:EOFException
文件未找到非常:FileNotFoundException
字符串转换为数字非常:NumberFormatException
操纵数据库非常:SQLException
输入输出非常:IOException
要领未找到非常:NoSuchMethodException
java.lang.AbstractMethodError
笼统要领毛病。当运用试图挪用笼统要领时抛出。
java.lang.AssertionError
断言错。用来指导一个断言失利的状况。
java.lang.ClassCircularityError
类轮回依靠毛病。在初始化一个类时,若检测到类之间轮回依靠则抛出该非常。
java.lang.ClassFormatError
类花样毛病。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有用花样时抛出。
java.lang.Error
毛病。是一切毛病的基类,用于标识严峻的顺序运转题目。这些题目一般形貌一些不该被运用顺序捕捉的反常状况。
java.lang.ExceptionInInitializerError
初始化顺序毛病。当实行一个类的静态初始化顺序的过程当中,发生了非常时抛出。静态初始化顺序是指直接包括于类中的static语句段。
java.lang.IllegalAccessError
违法接见毛病。当一个运用试图接见、修正某个类的域(Field)或许挪用其要领,然则又违背域或要领的可见性声明,则抛出该非常。
java.lang.IncompatibleClassChangeError
不兼容的类变化毛病。当正在实行的要领所依靠的类定义发生了不兼容的转变时,抛出该非常。平常在修正了运用中的某些类的声明定义而没有对全部运用从新编译而直接运转的状况下,轻易激发该毛病。
java.lang.InstantiationError
实例化毛病。当一个运用试图经由过程Java的new操纵符组织一个笼统类或许接口时抛出该非常.
java.lang.InternalError
内部毛病。用于指导Java虚拟机发生了内部毛病。
java.lang.LinkageError
链接毛病。该毛病及其一切子类指导某个类依靠于别的一些类,在该类编译以后,被依靠的类转变了其类定义而没有从新编译一切的类,进而激发毛病的状况。
java.lang.NoClassDefFoundError
未找到类定义毛病。当Java虚拟机或许类装载器试图实例化某个类,而找不到该类的定义时抛出该毛病。
java.lang.NoSuchFieldError
域不存在毛病。当运用试图接见或许修正某类的某个域,而该类的定义中没有该域的定义时抛出该毛病。
java.lang.NoSuchMethodError
要领不存在毛病。当运用试图挪用某类的某个要领,而该类的定义中没有该要领的定义时抛出该毛病。
java.lang.OutOfMemoryError
内存不足毛病。当可用内存不足以让Java虚拟机分派给一个对象时抛出该毛病。
java.lang.StackOverflowError
客栈溢出毛病。当一个运用递归挪用的条理太深而致使客栈溢出时抛出该毛病。
java.lang.ThreadDeath
线程完毕。当挪用Thread类的stop要领时抛出该毛病,用于指导线程完毕。
java.lang.UnknownError
未知毛病。用于指导Java虚拟机发生了未知严峻毛病的状况。
java.lang.UnsatisfiedLinkError
未满足的链接毛病。当Java虚拟机未找到某个类的声明为native要领的本机言语定义时抛出。
java.lang.UnsupportedClassVersionError
不支撑的类版本毛病。当Java虚拟机试图从读取某个类文件,然则发明该文件的主、次版本号不被当前Java虚拟机支撑的时刻,抛出该毛病。
java.lang.VerifyError
考证毛病。当考证器检测到某个类文件中存在内部不兼容或许平安题目时抛出该毛病。
java.lang.VirtualMachineError
虚拟机毛病。用于指导虚拟机被损坏或许继承实行操纵所需的资本不足的状况。
java.lang.ArithmeticException
算术前提非常。比如:整数除零等。
java.lang.ArrayIndexOutOfBoundsException
数组索引越界非常。当对数组的索引值为负数或大于即是数组大小时抛出。
java.lang.ArrayStoreException
数组存储非常。当向数组中寄存非数组声明范例对象时抛出。
java.lang.ClassCastException
类外型非常。假设有类A和B(A不是B的父类或子类),O是A的实例,那末当强迫将O组织为类B的实例时抛出该非常。该非常常常被称为强迫范例转换非常。
java.lang.ClassNotFoundException
找不到类非常。当运用试图依据字符串情势的类名组织类,而在遍历CLASSPAH以后找不到对应称号的class文件时,抛出该非常。
java.lang.CloneNotSupportedException
不支撑克隆非常。当没有完成Cloneable接口或许不支撑克隆要领时,挪用其clone()要领则抛出该非常。
java.lang.EnumConstantNotPresentException
罗列常量不存在非常。当运用试图经由过程称号和罗列范例接见一个罗列对象,但该罗列对象并不包括常量时,抛出该非常。
java.lang.Exception
根非常。用以形貌运用顺序愿望捕捉的状况。
java.lang.IllegalAccessException
违法的接见非常。当运用试图经由过程反射体式格局建立某个类的实例、接见该类属性、挪用该类要领,而当时又无法接见类的、属性的、要领的或组织要领的定义时抛出该非常。
java.lang.IllegalMonitorStateException
违法的监控状况非常。当某个线程试图守候一个本身并不具有的对象(O)的监控器或许关照其他线程守候该对象(O)的监控器时,抛出该非常。
java.lang.IllegalStateException
违法的状况非常。当在Java环境和运用还没有处于某个要领的正当挪用状况,而挪用了该要领时,抛出该非常。
java.lang.IllegalThreadStateException
违法的线程状况非常。当县城还没有处于某个要领的正当挪用状况,而挪用了该要领时,抛出非常。
java.lang.IndexOutOfBoundsException
索引越界非常。当接见某个序列的索引值小于0或大于即是序列大小时,抛出该非常。
java.lang.InstantiationException
实例化非常。当试图经由过程newInstance()要领建立某个类的实例,而该类是一个笼统类或接口时,抛出该非常。
java.lang.InterruptedException
被中断非常。当某个线程处于长时间的守候、休眠或其他停息状况,而此时其他的线程经由过程Thread的interrupt要领停止该线程时抛出该非常。
以上就是java非常有哪些的细致内容,更多请关注ki4网别的相干文章!