Java入门(4)--异常处理

在编写.net的程序的时候,很少去注意异常处理这部分内容.因为当时做的都是window应用程序或者web应用程序,异常在界面中都处理了基本上.唯一的处理就是在数据库操作的时候用到了异常处理.让自己觉得.net好像不用处理异常.这当然是不对的.

在学习java的时候.从新看了java的异常处理,发现异常处理还是比较重要的.

1:什么是异常:

异常是指程序运行时候发生的错误.这里特指运行时,编译调试产生的那些不叫异常.设置异常处理是为了让程序不会发生不可预知的错误,然后停止了.

throw异常:java程序执行时出现的异常,会生成一个异常对象.这个对象由java自己实例化,然后交给java运行时,这个叫throw异常.

catch异常:运行时接收到异常对象时,寻找能处理这个异常的代码,这个叫catch异常

java中的每一个方法可能抛出的异常会在jdk文档中说明,我们只需把这个异常捕获即可.但不是所有的异常都需要捕获处理.


2:异常分类

Java入门(4)--异常处理_第1张图片

Error:错误,Java虚拟机生成抛出,程序不做处理.

Exception:所有异常类的父类,一般需要用户显式声明捕获

Runtime Exception :一类特殊的异常,0,下标越界等,处理比较繁琐.一般交给系统缺省的异常处理程序处理(程序不做处理)


3:异常如何被处理.

Try{

//可能抛出异常的语句

} catch(Execption1e) {

处理

}catch(Execption2 e) {

处理

}finally {

最后要做的(一定执行)

}

解释:

a:try代码包含可能产生异常的语句,try代码后边可以有一个或者多个catch,每个catch后面声明其能处理的特定异常并提供处理方法.

b: 当异常发生时,程序终止执行,根据错误类型执行相应catch中的代码.

c: finally语句无论是否有异常都要执行.


4:自定义异常

java也可以自定义异常,步骤如下:

a:通过继承java.lang.Exception 类声明自己的异常类.

b:在方法的适当位置生成自定义异常的实例,并用throw抛出.

c:在方法的声明部分用throw声明该方法可能抛出的异常.

Java 异常处理的原则

1:尽可能的处理异常

要尽可能的处理异常,如果条件确实不允许,无法在自己的代码中完成处理,就考虑声明异常。如果人为避免在代码中处理异常,仅作声明,则是一种错误和依赖的实践。

2:具体问题具体解决

异常的部分优点在于能为不同类型的问题提供不同的处理操作。有效异常处理的关键是识别特定故障场景,并开发解决此场景的特定相应行为。为了充分利用异常处理能力,需要为特定类型的问题构建特定的处理器块。

3:记录可能影响应用程序运行的异常

至少要采取一些永久的方式,记录下可能影响应用程序操作的异常。理想情况下,当然是在第一时间解决引发异常的基本问题。不过,无论采用哪种处理操作,一般总应记录下潜在的关键问题。别看这个操作很简单,但它可以帮助您用很少的时间来跟踪应用程序中复杂问题的起因。



若要通知一个应用程序特有的问题,有必要将应用程序转换为不同形式。若用业务特定状态表示异常,则代码更易维护。从某种意义上讲,无论何时将异常传到不同上下文(即另一技术层),都应将异常转换为对新上下文有意义的形式。

Java 异常处理是使用 Java语言进行软件开发和测试脚本开发中非常重要的一个方面。对异常处理的重视会是您开发出的代码更健壮,更稳定。

你可能感兴趣的:(java入门)