java语言中的异常有多少种(java的异常有哪几类)

本文目录一览:

JAVA中的异常有几类

Throwable包含了错误(Error)和异常(Excetion两类)

Exception又包含了运行时异常(RuntimeException, 又叫非检查异常)和非运行时异常(又叫检查异常)

(1) Error是程序无法处理了, 如果OutOfMemoryError、OutOfMemoryError等等, 这些异常发生时, java虚拟机一般会终止线程 .

(2) 运行时异常都是RuntimeException类及其子类,如 NullPointerException、IndexOutOfBoundsException等, 这些异常是不检查的异常, 是在程序运行的时候可能会发生的, 所以程序可以捕捉, 也可以不捕捉. 这些错误一般是由程序的逻辑错误引起的, 程序应该从逻辑角度去尽量避免.

(3) 检查异常是运行时异常以外的异常, 也是Exception及其子类, 这些异常从程序的角度来说是必须经过捕捉检查处理的, 否则不能通过编译. 如IOException、SQLException等

两者的区别

非检查异常表示无法让程序恢复运行的异常,导致这种异常的原因通常是由于执行了错误的操作。一旦出现错误,建议让程序终止。

受检查异常表示程序可以处理的异常。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过。

对于运行异常,建议不要用 try…catch…捕获处理,应该在程序开发调试的过程中尽量的避免,当然有一些必须要处理的,自己知道了那个部分会出现异常,而这种异常你要把它处理的你想要的结果,例如:空值处理。

最后学习java,就去湖南卓越新腾

常见JAVA运行时异常有哪些?

1、五种常见的异常:ClassCastException(类转换异常)、IndexOutOfBoundsException(数组越界异常)、NullPointerException(空指针异常)、ArrayStoreException(数据存储异常,操作数组时类型不一致)、BufferOverflowException(还有IO操作的,缓冲溢出异常)。

2、java运行时异常是可能在java虚拟机正常工作时抛出的异常。java提供了两种异常机制。一种是运行时异常(RuntimeExepction),一种是检查式异常(checked execption)。

检查式异常:我们经常遇到的IO异常及sql异常就属于检查式异常。对于这种异常,java编译器要求我们必须对出现的这些异常进行catch 所以 面对这种异常不管我们是否愿意,只能自己去写一堆catch来捕捉这些异常。

运行时异常:我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。

扩展资料:

Java特点

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的操作符过载和多继承特征,并且不使用主文件,免去了预处理程序。

因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。

参考资料:百度百科-Java

Java编程中 常见的异常有哪几种

相信作为程序员的我们在对程序进行编译过程中经常会遇到错误,或者在运行过程中出现错误,在这里主要跟大家谈谈经常遇到的一些异常与错误,以及解决办法。

异常是指程序在编译或运行过程出现的错误。

在java.lang包中Throwable包含了所有的异常。

Error (错误) 和Exception(异常)

(1)Error(错误)

一旦发生无法修复,但可以避免发生。

常见错误类:

IOError:I/O错误,当发生严重的I/O错误时,抛出此错误。

VirtualMachineError :虚拟机错误,当 Java 虚拟机崩溃或用尽了它继续操作所需的资源时,抛出该错误。

StackOverflowError:栈内存满了,当应用程序递归太深而发生堆栈溢出时,抛出该错误。

OutofMemoryError:堆内存满了,因为内存溢出或没有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常。

以上是一些常见的错误,在Error类中还有一些别的错误(参照文件Java.lang.Throwable.Error).

(2)Exception(异常)

一旦发生,可以捕获并处理,不会导致程序终止,有时可以避免有时无法避免。

异常的分类:

1.编译时异常(需要强制处理)       2.运行时异常(不需要强制处理)

常见的异常有:

IOException:输入输出流异常

FileNotFoundException:文件找不到的异常

ClassNotFoundException:类找不到的异常

DataFormatException:数据格式化异常

NoSuchFieldException:没有匹配的属性异常

NoSuchMethodException:没有匹配的方法异常

SQLException:数据库操作异常

TimeoutException:执行超时异常

常见的运行时异常:

RuntimeException:运行时异常

NullPointerException:空指针异常

ArrayIndexOutofBoundsException:数组越界异

ClassCastException:类型转换异常

IllegalArgumentException:非法的参数异常

InputMismatchException:输入不匹配

以上是常见的一些异常,另外还有别的异常,参见文件:Java.lang.Throwable.Exception

既然我们常常会遇到一些异常,那我们如何来处理这些异常就是一个急需解决的事情。

(1) 如何处理编译时异常?

方法一:将需要处理的代码块放在一个try…catch…中

try{

//需要处理异常的代码

}catch(XXXException ef){

ef.printStackTrace();

}

我们方法一就是要将我们不确定的代码放入try……catch中,先进行try一下,如果没有异常,则不会触发catch,没有输出,一旦出现异常,那么catch就会工作,在catch中捕获异常信息,根据异常信息进行补救措施。

如以下代码:

方法二:在出现异常的方法上直接向上抛出异常,throws

void ff() throws XXXException{

}

将出现的异常的代码中,放入如上的方法中,就会将异常抛给该方法的上一级,在主函数上继续向上抛,最终抛给JVM java虚拟机,让JVM来解决该问题。

如代码:

注意:在catch和throws的时候如果不确定是什么异常,就直接写一个Exception.

(2) 如何处理运行时异常?

1.一般情况下,运行时异常是不用处理的 

2.在某些情况下,如果对发生异常的结果进行处理,也可以对运行时异常进行try…catch…

以上就是一些我们处理编译时异常和运行时异常的方法。

在程序出现异常时,有时候我们可以自定义异常,以便我们能够发现是什么异常。

那么如何自定义异常??

1.当运行时,程序出现意外,可以抛出异常对象来结束程序

如:

//抛出运行时异常对象

RuntimeException ef = new RuntimeException(“下标越界!index:”+index+” ,size:”+size());

throw ef;

2.对于编译时异常,同样可以抛出异常对象

但在方法定义时候必须加上throws

如:

public void test(int t) throws Exception{

if (t 0 || t 100) {

Exception ef = new Exception(“数据错误”);

throw ef;

}

}

例如:

运行结果:

从结果可以看出,我们在输入数据的时候出现错误,这样通过自定义异常能够让我们更直接快速的找到运行或编译时的异常。

在上述中我们分别提到了三种throw,分别是Throwable,Throws以及throw,那么到底三者有什么区别?

Throwable:是指在在Java.lang包中的一个类,其包含了所有的异常和错误,其中类Error和Exception 是它

的子类。

Thows:是指在解决编译时异常,将方法中异常抛给上一级,在方法后面要加Throw Exception来进行抛。

throw:是指在自定义异常时,如果方法出现异常,那么将作为引用方法的对象抛出。即抛出异常。

希望对您有所帮助!~

Java语言中常见的异常类型有哪些

Java语言中异常的分类是:受检异常和非受检异常,具体细分,自行搜索。。。。

Java中的异常有哪几类

常见的异常有:

1、 java.lang.nullpointerexception 解释是”程序遇上了空指针”,就是调用了未经初始化的对象或者是不存在。

2、java.lang.classnotfoundexception 解释是”指定的类不存在”,这里主要考虑一下类的名称和路径是否正确即可。

3、java.lang.arrayindexoutofboundsexception 解释是”数组下标越界”,现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围。

4、FileNotFoundException 解释是“文件未找到异常”。

5、IOException 解释是”输入输出流异常“。

6、NoSuchMethodException 解释是”方法未找到异常”。

Java中的异常类型有哪些?

常见的异常有:

1、 java.lang.nullpointerexception 解释是”程序遇上了空指针”,就是调用了未经初始化的对象或者是不存在。

2、java.lang.classnotfoundexception 解释是”指定的类不存在”,这里主要考虑一下类的名称和路径是否正确即可。

3、java.lang.arrayindexoutofboundsexception 解释是”数组下标越界”,现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围。

4、FileNotFoundException 解释是“文件未找到异常”。

5、IOException 解释是”输入输出流异常“。

6、NoSuchMethodException 解释是”方法未找到异常”。

原创文章,作者:YT2D3,如若转载,请注明出处:https://www.506064.com/n/130477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
YT2D3YT2D3
上一篇 2024-10-03 23:28
下一篇 2024-10-03 23:28

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python如何判断质数和异常处理

    本文主要介绍Python如何判断质数和异常处理,其中包括多个方面的内容。 一、判断质数 1、定义:质数是指除了1和它本身两个因数外,没有其他的因数。 2、判断方法: (1)从2到n…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • 光模块异常,SFP未认证(entityphysicalindex=6743835)——解决方案和

    如果您遇到类似optical module exception, sfp is not certified. (entityphysicalindex=6743835)的问题,那么…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • 数据库第三范式会有删除插入异常

    如果没有正确设计数据库,第三范式可能导致删除和插入异常。以下是详细解释: 一、什么是第三范式和范式理论? 范式理论是关系数据库中的一个规范化过程。第三范式是范式理论中的一种常见形式…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28

发表回复

登录后才能评论