JAVA语言如何进行异常处理?

Python013

JAVA语言如何进行异常处理?,第1张

Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。

在Java中,每个异常都是一个对象,它是Throwable类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并可以对其进行处理。

Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果系统会抛出(throw)一个异常对象,可以通过它的类型来捕获(catch)它,或通过总是执行代码块(finally)来处理;try用来指定一块预防所有异常的程序;

catch子句紧跟在try块后面,用来指定你想要捕获的异常的类型;

throw语句用来明确地抛出一个异常;

throws用来声明一个方法可能抛出的各种异常(当然声明异常时允许无病呻吟);

finally为确保一段代码不管发生什么异常状况都要被执行。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程

Java语言提供两种异常处理机制:捕获异常和声明抛弃异常;

1)捕获异常:在Java程序运行过程中系统得到一个异常对象是,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。找到能够处理这种类型异常的方法后,运行时系统把当前异常交给这个方法处理;如果找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。捕获异常是通过try-catch-finally语句实现的。语法为:

try{

...

}catch(ExceptionName1 e){

...

}catch(ExceptionName2 e){

...

}

...

}finally{

...

}

2)声明抛弃异常:当Java程序运行时系统得到一个异常对象时,如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明抛弃异常。声明抛弃异常是在一个方法声明中的throws子句中指明的。如:

public int read() throws IOException{

...

}

其中throws IOException就是声明抛弃异常,throws后可以跟多个异常类型。

Java中的异常处理机制已经比较成熟,我们的Java程序到处充满了异常的可能,如果对这些异常不做预先的处理,那么将来程序崩溃就无从调试,很难找到异常所在的位置。

浙江电脑培训http://www.kmbdqn.cn/将探讨一下Java中异常与错误的处理方法,一起来看看。

异常与错误:异常:在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它。

Java中使用异常类来表示异常,不同的异常类代表了不同的异常。

但是在Java中所有的异常都有一个基类,叫做Exception。

错误:它指的是一个合理的应用程序不能截获的严重的问题。

大多数都是反常的情况。

错误是VM的一个故障(虽然它可以是任何系统级的服务)。

所以,错误是很难处理的,一般的开发人员(当然不是你)是无法处理这些错误的,比如内存溢出。

和异常一样,在Java中用错误类来表示错误,不同的错误类代表了不同的错误。

但是在Java中所有的错误都有一个基类,叫做Error。

综上,我们可以知道异常和错误最本质的区别就是异常能被开发人员处理而错误时系统本来自带的,一般无法处理也不需要我们程序员来处理。

1.一个异常是在一个程序执行过程中出现的一个事件,它中断了正常指令的运行2.错误,偏离了可接受的代码行为的一个动作或实例异常的结构分类:1、运行时异常(未检查异常)2、编译时异常(已检查异常)运行异常即是RuntimeException其余的全部为编译异常在Java中异常Exception和错误Error有个共同的父类Throwable。

ErrorExceptionruntimeException几个子类1、java.lang.ArrayIndexOutOfBoundsException数组索引越界异常。

当对数组的索引值为负数或大于等于数组大小时抛出。

2、java.lang.ArithmeticException算术条件异常。

譬如:整数除零等。

3、java.lang.NullPointerException空指针异常。

当应用试图在要求使用对象的地方使用了null时,抛出该异常。

譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等4、java.lang.ClassNotFoundException找不到类异常。

当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。