简单的论述Java异常处理

简单的论述Java异常处理

开发工具与关键技术:MyEclipse 10,java
作者:刘东标
撰写时间:2019-04-22

异常处理:运行期出现的错误

Java异常是java提供的用于处理程序中错误的一种机制
所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在)
设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果。
Java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给Java运行时系统,这个过程称为抛出(throw)异常。
当Java运行时系统接收到异常对象时,会寻找能处理这异常的代码并把当前异常对象交给其处理,这一过程称为(catch)异常
public class 异常捕获 {
public static void main(String[] args) {
int[] arr = {1,2,3};
System.out.println(arr[2]);
try {
System.out.println(2/0);
} catch (ArithmeticException e) {
// TODO: handle exception
System.out.println(“系统正在维护,请跟管理员通话”);
e.printStackTrace();
}
}
}

异常产生后,如果不做任何处理,程序就会被终止。
package com.gx.exception;

public class 异常捕获 { // 创建类
public static void main(String[] args) {// 主方法
String str = “lili”;//定义字符串
System.out.println(str + “年龄是:”);//输出的提示信息
int age = Integer.parseInt(“20L”);//数据类型的转换
System.out.println(age);//输出信息
}
}

在这里插入图片描述
捕捉异常
Java语言的异常捕获结构由try、catch、和finally3部分组成。其中,try语句块存放的是可能发生异常的Java语句;catch程序块在try语句之后,用来激发被捕获的异常;finally语句块是异常处理结构的最后执行部分,无论try语句块中代码如何退出,都将执行finally语句块。
语法如下:
try{
//程序代码块
}
catch(Exception e1){
//对Exceptiontype e1的处理
}
catch(Exception e2){
//对Exception e2的处理
}
finally{
//程序块}
通过异常处理器的语法可知,异常处理大致分为try-catch语句块和finally语句块

Exception是try代码块传递给catch代码块的变量类型,e是变量名。catch代码块中语句“e.getMessage();”用于输出错误性质。常用异常处理一下3个函数来获取异常的有关信息。
(1)、getMessage()函数:输出错误性质。
(2)、toString()函数:给出异常的类型与性质。
(3)、printStackTrace()函数:指出异常的类型、性质、栈层次及出现在程序中的位置
注意:有时候为了编译简单会忽略catch语句后面的代码,这样try-catch语句就成了一种摆设,一旦在运行过程中出现异常,就很难查找错误发生的原因。
finally语句块
完整的异常处理语句一定包含finally语句,无论程序是否有异常发生,并且无论之间的try-catch是否顺利执行完毕,都会执行finally语句
以下4种特殊情况,finally块不会被执行
(1)、finally语句块发生了异常。
(2)、在前面的代码中使用了System.exit()退出程序。
(3)、程序所在的线程死亡。
(4)、关闭CPU

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值