JAVA异常处理机制
姓名:周宁
班级:计研131
目录
Java源文件
(*.java)
Java编译器
Java类文件
(*.java)
编译
Java类文件
(*.java)
Java平台
执行
编译过程中发生的错误称作语法错误,是必须通过源代码基本的修改才能纠正。
程序执行过程中发生的错误是异常,异常的处理需要根据具体情况和异常的类型来决定。
错误实例
public void Divide() {
int a=10;
int b=7;
(“求余的结果:"+a%c);
}
使用一个未定义的变量c,产生语法错误
public static void main(String[] args) {
Divide(5, 0);
}
public static void Divide(int a, int b) {
("求余的结果是:"+a%b);
}
Exception in thread "main" : / by zero
程序编译没有错误,由于被除数是0,程序运行产生异常,控制台输出以下异常信息:
在程序的运行过程中,经常会遇到很多意外情况,比如除 0 溢出、空指针、数组越界访问、文件找不到、用户输入错误等,为了加强程序的健壮性,程序设计时,必须考虑到可能发生的异常事件并做出相应的处理。 Java 语言通过引入异常处理机制就能很好地解决这一问题。
当程序在无法继续正常运行下去时,根据异常的类型,创建一个异常类的对象,将错误信息保存在里面,然后Java异常处理机制将接手程序的控制权,将这个异常按照方法调用的顺序逐层抛出,直到异常被捕捉,并做出相应的处理进行补救,然后,异常处理机制交出程序控制权,使程序将继续运行下去。如果不处理这个异常,它将会最终被传递到Java平台,然后其中的错误信息将会被输出到控制台。
异常类用于封装错误信息,其信息来
源主要有两个:1)异常类的类型名, 2)异常的描述信息
例如:
Exception in thread "main" : / by zero
:“/ by zero”
-几个重要的异常类
,只有继承了Throwable类的Java类才会被Java异常机制认为是一个异常类,才能使用Java中相关的语法抛出和处理异常。Throwable类提供了用于显示错误信息的方法,其中最重要的方法是PrintStackTrace(),将向控制台输出错误发生时程序的执行信息,Throwable类还提供了异常处理时所需的部分方法。
,这种异常一般严重到无法处理,甚至可能照成整个程序崩溃,Java不强制要求处理Error异常。例如:
,当它或它的子类的实例在程序中被抛出的时候,Java编译器要求必须对这个异常进行处理。
,特殊之处在于当它和它的子类的子类对象在程序中抛出的时候,Java编译器允许程序不做任何处理,因为在Java异常处理机制中,RuntimeException代表在Java平台正常的操作都有可能发生的异常。
class A{
public A() {
new A();
}}
在构造方法中创建自己的实例,相当于无限循环的调用构造方法,Java平台拥有的计算机资源被耗尽后就会抛出StackOverFlowError异常,当程序运行发生这种异常,一般做法是根据错误类型寻找源代码中的错误根源并修复它
自定义异常类
开发人员可通过继承Exception类来构建自己的异常类,其中所要传递的异常描述信息通常是通过覆写Exception(String Message)构造方法实现的,通过调用这个方法将错误信息保存在异常类中。
class DivideException extends Exception {
public DivideException() {
super("被除数不能为0");
}}
构建被除数
java异常处理机制 来自淘豆网m.daumloan.com转载请标明出处.