导航:首页 > 编程语言 > java异常几种

java异常几种

发布时间:2022-04-25 05:52:56

java异常处理的分类有哪些

分三类,运行时异常,编译时的异常,系统异常

② JAVA中的异常有几类

Throwable包含了错误(Error)和异常(Excetion两类)
Exception又包含了运行时异常(RuntimeException, 又叫非检查异常)和非运行时异常(又叫检查异常)
(1) Error是程序无法处理了, 如果OutOfMemoryError、OutOfMemoryError等等, 这些异常发生时, java虚拟机一般会终止线程 .
(2) 运行时异常都是RuntimeException类及其子类,如 NullPointerException、IndexOutOfBoundsException等, 这些异常是不检查的异常, 是在程序运行的时候可能会发生的, 所以程序可以捕捉, 也可以不捕捉. 这些错误一般是由程序的逻辑错误引起的, 程序应该从逻辑角度去尽量避免.
(3) 检查异常是运行时异常以外的异常, 也是Exception及其子类, 这些异常从程序的角度来说是必须经过捕捉检查处理的, 否则不能通过编译. 如IOException、SQLException等
两者的区别
非检查异常表示无法让程序恢复运行的异常,导致这种异常的原因通常是由于执行了错误的操作。一旦出现错误,建议让程序终止。
受检查异常表示程序可以处理的异常。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过。
对于运行异常,建议不要用 try...catch...捕获处理,应该在程序开发调试的过程中尽量的避免,当然有一些必须要处理的,自己知道了那个部分会出现异常,而这种异常你要把它处理的你想要的结果,例如:空值处理。
最后学习java,就去湖南卓越新腾

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

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

④ java异常分类

一、概念
如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下
会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用
这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。

二、异常分类
Throwable 是 Java 语言中所有错误或异常的超类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。
实例分为 Error 和 Exception 两种。

2.1、Error
Error 类是指 java 运行时系统的内部错误和资源耗尽错误。应用程序不会抛出该类对象。如果
出现了这样的错误,除了告知用户,剩下的就是尽力使程序安全的终止。

2.2、Exception
Exception 又有两个分支 , 一个是运行时异常 RuntimeException , 一 个是检查异常 CheckedException。

RuntimeException 如 :NullPointerException 、 ClassCastException ;
CheckedException 如: I/O 错误导致的 IOException、SQLException。

RuntimeException 是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。 如果出现 RuntimeException,那么一
定是程序员代码书写导致的错误.

CheckedException:一般是外部错误,这种异常都发生在编译阶段,Java 编译器会强
制程序去捕获此类异常,即会出现要求你把这段可能出现异常的程序进行 try catch,该类异常一
般包括几个方面:

试图在文件尾部读取数据
试图打开一个错误格式的 URL
试图根据给定的字符串查找 class 对象,而这个字符串表示的类并不存在
三、异常的处理方式
3.1、不处理
遇到异常问题不进行具体处理,而是继续抛给调用者 (throw,throws)
抛出异常有三种形式,一是 throw,再就是 throws,还有一种系统自动抛异常。

public static void main(String[] args) {
String s = "abc";
if(s.equals("abc")) {
/** 手动抛出一个数字格式化异常 **/
throw new NumberFormatException();
} else {
System.out.println(s);
}
}

int div(int a,int b) throws Exception{
return a/b;
}
3.2、处理
try catch 捕获异常针对性处理方式

四、Throw 和 throws 的区别
throws 用在函数上,后面跟的是异常类,可以跟多个;

语法:(修饰符)(方法名)([参数列表])[throws(异常类)]{……}
public void doA(int a) throws Exception1,Exception3{……}

throw 用在函数内,后面跟的是异常对象。

throws E1,E2,E3只是告诉程序这个方法可能会抛出这些异常,方法的调用者可能要处理这些异常,而这些异常E1,E2,E3可能是该函数体产生的。
throw则是明确了这个地方要抛出这个异常。

结合来看:

void doA(int a) throws IOException,{
try{
......
}catch(Exception1 e){
throw e;
}catch(Exception2 e){
System.out.println("出错了!");
}
if(a!=b)
throw new Exception3("自定义异常");
}
throws 用来声明异常,让调用者知道该功能可能会出现的问题(比如上方的 IO 异常),可以给出预先的处理方式;
throw 抛出具体的问题对象,执行到 throw,功能就已经结束了,跳转到调用者,并将具体的问题对象抛给调用者。
也就是说 throw 语句独立存在时,下面不要定义其他语句,因为执行不到。

概括:
throws 表示出现异常的一种可能性,并不一定会发生这些异常;
throw 则是抛出了异常,执行 throw 则一定抛出了某种异常对象。

五、总结
了解 Exception、Error 两种异常的区别,面试可能会问。
区分 throws、throw使用维度。

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

1,java.lang.NullPointerException

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

2,java.lang.ClassNotFoundException

异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可

3,java.lang.

这个异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了.

4,java.lang.NoSuchMethodError

方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。

5,java.lang.IndexOutOfBoundsException

索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。

6,java.lang.NumberFormatException

数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。

7,java.sql.SQLException

Sql语句执行异常

8,java.io.IOException

输入输出异常

9,java.lang.IllegalArgumentException

方法参数错误

10java.lang.IllegalAccessException

无访问权限异常

(5)java异常几种扩展阅读:

Java技术应用领域:

1、Android应用

许多的 Android应用都是Java程序员开发者开发。虽然 Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言所编写。相当一部分的手机中都支持JAVA游戏,这就使很多非编程人员都认识了JAVA。

2、在金融业应用的服务器程序

Java在金融服务业的应用非常广泛,很多第三方交易系统、银行、金融机构都选择用Java开发,因为相对而言,Java较安全 。大型跨国投资银行用Java来编写前台和后台的电子交易系统,结算和确认系统,数据处理项目以及其他项目。

3、网站

Java 在电子商务领域以及网站开发领域占据了一定的席位。开发人员可以运用许多不同的框架来创建web项目,SpringMVC,Struts2.0以及frameworks。即使是简单的 servlet,jsp和以struts为基础的网站在政府项目中也经常被用到。例如医疗救护、保险、教育、国防以及其他的不同部门网站都是以Java为基础来开发的。

4、嵌入式领域

Java在嵌入式领域发展空间很大。在这个平台上,只需130KB就能够使用Java技术(在智能卡或者传感器上)。

5、大数据技术

Hadoop以及其他大数据处理技术很多都是用Java,例如Apache的基于Java的HBase和Accumulo以及 ElasticSearchas。

6、高频交易的空间

Java平台提高了这个平台的特性和即使编译,他同时也能够像 C++ 一样传递数据。正是由于这个原因,Java成为的程序员编写交易平台的语言,因为虽然性能不比C++,但开发人员可以避开安全性,可移植性和可维护性等问题。

7、科学应用

Java在科学应用中是很好选择,包括自然语言处理。最主要的原因是因为Java比C++或者其他语言相对其安全性、便携性、可维护性以及其他高级语言的并发性更好。

⑥ 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:空指针异常

:数组越界异

ClassCastException:类型转换异常
IllegalArgumentException:非法的参数异常
InputMismatchException:输入不匹配

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

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

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

方法一:将需要处理的代码块放在一个try...catch...中
try{
//需要处理异常的代码
}catch(XXXException ef){
ef.printStackTrace();
}

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

如以下代码:

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

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

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

的子类。

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

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

希望对您有所帮助!~

⑦ java语言中的异常有多少种,请详细解答,并标明所对应的均为什么类型

作为一只敬业的程序员,就是不能接受我的编程出现bug!可见我们对bug是如此的深恶痛觉!它已成为我们职业生涯中的拦路虎,所以今天精心为大家总结一下Java中常见的几种异常,望大家多多注意。

1、java.lang.NullPointerException(空指针异常)
调用了未经初始化的对象或者是不存在的对象。经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针, 即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化, 依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)。
2、 java.lang.ClassNotFoundException指定的类不存在
这里主要考虑一下类的名称和路径是否正确即可,通常都是程序试图通过字符串来加载某个类时可能引发异常。比如:调用Class.forName();或者调用ClassLoad的finaSystemClass();或者LoadClass();
3、 java.lang.NumberFormatException字符串转换为数字异常
当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常.如现在讲字符型的数据“123456”转换为数值型数据时,是允许的。但是如果字符型数据中包含了非数字型的字符,如123#56,此时转换为数值型时就会出现异常。系统就会捕捉到这个异常,并进行处理。
4、java.lang.IndexOutOfBoundsException数组下标越界异常
查看调用的数组或者字符串的下标值是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候先查看一下数组的length,以免出现这个异常。
5、java.lang.IllegalArgumentException方法的参数错误
比如g.setColor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。
6、java.lang.IllegalAccessException没有访问权限
当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了Package的情况下要注意这个异常。
7、java.lang.ArithmeticException数学运算异常
当算术运算中出现了除以零这样的运算就会出这样的异常。
8、java.lang.ClassCastException数据类型转换异常
当试图将对某个对象强制执行向下转型,但该对象又不可转换又不可转换为其子类的实例时将引发该异常,如下列代码。
Object obj = new Integer(0);
String str = obj;
9、 java.lang.FileNotFoundException文件未找到异常
当程序试图打开一个不存在的文件进行读写时将会引发该异常。该异常由FileInputStream,FileOutputStream,RandomAccessFile的构造器声明抛出,即使被操作的文件存在,但是由于某些原因不可访问,比如打开一个只读文件进行写入,这些构造方法仍然会引发异常。
10、java.lang.ArrayStoreException数组存储异常
当试图将类型不兼容类型的对象存入一个Object[]数组时将引发异常,如
Object[] obj = new String[3]
obj[0] = new Integer(0);
11、java.lang.NoSuchMethodException方法不存在异常
当程序试图通过反射来创建对象,访问(修改或读取)某个方法,但是该方法不存在就会引发异常。
12、 java.lang.NoSuchFiledException方法不存在异常
当程序试图通过反射来创建对象,访问(修改或读取)某个filed,但是该filed不存在就会引发异常。
13、 java.lang.EOFException文件已结束异常
当程序在输入的过程中遇到文件或流的结尾时,引发异常。因此该异常用于检查是否达到文件或流的结尾
14、java.lang.InstantiationException实例化异常
当试图通过Class的newInstance()方法创建某个类的实例,但程序无法通过该构造器来创建该对象时引发。Class对象表示一个抽象类,接口,数组类,基本类型 。该Class表示的类没有对应的构造器。
15、java.lang.InterruptedException被中止异常
当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。
16、java.lang.CloneNotSupportedException 不支持克隆异常
当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。
17、java.lang.OutOfMemoryException 内存不足错误
当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。
18、java.lang.NoClassDefFoundException 未找到类定义错误
当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
违背安全原则异常:SecturityException
操作数据库异常:SQLException
输入输出异常:IOException
通信异常:SocketException
以上便是Java常见的几种异常,希望各位同学都能编译出完美的代码,笑隐竹林中!编码bug,江湖永无相见!

⑧ Java编程中常见异常有哪些

【导语】在进行Java编程的过程中,我们需要通过代码编写进行程序的运行,都是人工进行代码编写,所以会出现不少异常现象,这都是属于正常现象,但是遇到这些异常现象是需要大家了解并学会处理的,今天就先给大家介绍一下Java编程中常见异常有哪些?一起来看看吧。

Java中常见的异常:

1、空指针异常类:NullPointerException

2、数据类型转换异常:java.lang.ClassCastException

3、没有访问权限:java.lang.IllegalAccessException

4、方法的参数错误:java.lang.IllegalArgumentException

5、数组下标越界异常:java.lang.IndexOutOfBoundsException

6、文件已结束异常:EOFException

7、文件未找到异常:FileNotFoundException

8、字符串转换为数字异常:NumberFormatException

9、指定的类不存在: java.lang.ClassNotFoundException

10、实例化异常:java.lang.InstantiationException

Java中数据类型转换异常如何理解?

数据类型转换异常:java.lang.ClassCastException

当试图将对某个对象强制执行向下转型,但该对象又不可转换又不可转换为其子类的实例时将引发该异常,如下列代码。

Object obj = new Integer(0);

String str = obj;

Java中空指针异常类是什么意思?

空指针异常类:NullPointerException

调用了未经初始化的对象或者是不存在的对象。经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,
即把数组的初始化和数组元素的初始化混淆起来了。

数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化, 依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)。

Java常见异常有很多,以上这10种希望大家能够提前了解,这样能够帮助大家在实际编写代码过程中,更快的进行一场处理,加油!

⑨ Java 常见的异常有哪几种,有什么区别

  1. NullPointerException: 空指针异常。菜鸟编程经验发现这个异常是经常会发生的,属于运行时异常。

2.ClassCastException: 类型强制转换异常。Java的一些语法知识不太熟悉的时候会发生的异常。

3.: 数组下标越界异常。特别常见的一个异常,粗心的程序员都会犯的错误。

4.ArithmeticException:算术运算异常。算术跟我水平差不多的你有没有犯过类似的错误呢??

5.NumberFormatException: 数字格式异常。什么是数字格式异常呢?一个例子说明一切。

阅读全文

与java异常几种相关的资料

热点内容
pythonimportsys作用 浏览:276
腾讯云拼团云服务器 浏览:364
海南离岛将加贴溯源码销售吗 浏览:244
linux分区读取 浏览:794
单片机液晶显示屏出现雪花 浏览:890
解压器用哪个好一点 浏览:771
什么app看小说全免费 浏览:503
sha和ras加密 浏览:823
韩顺平php视频笔记 浏览:636
阿里云ecs服务器如何设置自动重启 浏览:596
三星电视怎么卸掉app 浏览:317
如何将pdf转换成docx文件 浏览:32
dos命令批量改名 浏览:376
centosphp环境包 浏览:602
mfipdf 浏览:534
电脑解压后电脑蓝屏 浏览:295
外网访问内网服务器如何在路由器设置 浏览:856
2014统计年鉴pdf 浏览:434
linuxoracle用户密码 浏览:757
股票交易pdf 浏览:898