JAVA异常知识点

异常是指程序在运行的时候由于程序处理逻辑上的错误而导致程序中断的一种指令流,即便是一个设计结构精良的程序也会存在各种意想不到的异常

如果程序没有异常产生的话,程序会按照既定的逻辑执行完毕,然而在有异常的程序中, 当执行到有异常的一行代码时, 下面的代码就会中断, 也就是出现错误后程序会终止运行

下面先看一段正常代码

public class Demo {

	public static void main(String[] args) {
		System.out.println("-----开始执行程序-----");
		System.out.println("-----进行数学运算-----");
		System.out.println(10/2);   //正常代码 不会出现异常 结果输出为5,下面代码还会正常执行
		System.out.println("最后的测试代码");
	}

}

该段代码没有异常, 所以会执行到"最后的测试代码",也就是这个程序能正常的运行起来.

下面是异常代码


public class Demo {

	public static void main(String[] args) {
		System.out.println("-----开始执行程序-----");
		System.out.println("-----进行数学运算-----");
		System.out.println(10/0);   //异常代码 , 下面的程序会中断执行, 也就是终止运行
		System.out.println("最后的测试代码");
	}

}

在本程序中出现了算术异常, 由于程序没有进行异常处理, 所以默认情况会进行异常信息打印到控制台 同时也会终止程序的运行, 通过观察发现, 如果没有正确的处理异常,程序会出现中断执行的情况,为了让程序在出现异常之后还能正常运行,所以必须引入异常处理语句来完善代码编写,在java中,针对异常的处理提供有3个核心关键字 try catch finally,利用这几个关键字就可以组成以下的异常处理格式

public class Demo {

	public static void main(String[] args) {
		try {
//			有可能出现异常的代码
		} catch (异常类型 对象) {
//异常处理
		} catch (异常类型 对象) {
//			异常处理
		}finally {
//			无论程序是否出现异常, 这段代码都会正常执行
		}
	}

}

使用了异常处理格式后,当程序中的数学运算出现问题的时候会被try语句捕获,然后交给catch处理,这个时候程序会正常结束而不会出现中断执行的情况,

出现异常的目的是为了解决异常,为了能够进行异常的处理,可以使用异常类中的printStackTrace方法进行异常信息的完整输出,

public class Demo {

	public static void main(String[] args) {
		try {   
			System.out.println("程序开始执行!");
			System.out.println(10 / 0); //可能会出现异常的代码
		} catch (ArithmeticException e) { //捕捉算术异常
			e.printStackTrace(); 
		} finally {
			System.out.println("程序出现了异常"); //最后必然会执行的代码
		}
		System.out.println("程序执行完毕!");
	}
}


/**输出结果
程序开始执行!
java.lang.ArithmeticException: / by zero
	at Demo1.Demo.main(Demo.java:8)
程序出现了异常
程序执行完毕!
**/

本程序增加了finally语句, 这样在异常处理过程中不管是否出现异常最终都会执行finally语句.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值