第二周总结

一、

1.异常处理基本概念:

异常是指在程序运行过程中由代码产生的一种错误。在不支撑异常处理的程序设计语言中,每一个运行时错误必须由程序员手动控制。这样不仅会增大工作量,还很麻烦。Java语言中的异常处理机制避免了这些问题,在处理过程中,把程序运行时错误的管理带到了面向对象的世界中。

在软件开发过程中,程序中出现错误是不可避免的。错误按不同的性质,可以分为不同的种类,有些错误能在系统编译时或运行时发现,有些错误不能被系统发现,这时就需要我们及时发现并改正程序中的错误,并对不同的错误采用不同的处理方式。

Java系统根据错误严重程度的不同,将程序运行时出的错分为两类:错误和异常。

在Java语言中,异常处理是通过try、catch、finally、throw、throws五个关键字来实现的

1 try
2 {
3     要检查的语句序列
4 }
5 catch(异常类名 形参对象名)
6 {
7     异常发生时的处理语句序列
8 }
9 finally
10 {
11     一定会运行的语句序列
12 }

其中1~4行是try块,5~8行是catch块,9~12行是finally块。其中try块可能抛出一个或多个异常,若发生异常,则程序的运行便中断,并抛出由“异常类”所产生的“对象”。同时该代码块后面也指定了它后面的catch语句所捕获的异常类型块,try语句块用来启动Java的异常处理机制。可能抛出异常的语句包括throw语句、调用可能抛出异常的方法的方法调用语句,这些都应该包含在这个try语句块中; catch语句块紧跟在try 语句块的后面,用来指定需要捕获的异常类型,当try语句块中的某条语句在执行时一旦出现异常,此时被启动的异常处理机制就会自动捕获到它,然后流程自动跳过产生异常的语句后面的所有尚未执行的语句,系统就直接跳到catch语句中,查看是否为匹配的异常类。若抛出的异常对象属于catch后面括号内欲捕获的异常类,则catch会捕获此异常,然后进人到catch块内继续执行;无论try程序块是否捕获到异常,或者捕获到的异常是否与catch后面括号里的异常相同,最后一定会运行finally块里的程序代码; finally 块的代码运行结束后,程序再转到try catch- finally块之后的语句继续运行。

2.抛出异常

根据异常类型不同,抛出异常的方法也不同,具体分为:系统自动抛出的异常,指定方法抛出的异常。指定方法抛出的异常需要使用关键字throw或throws来明确指定在方法内抛出异常。语法格式为  throw 由异常类所产生的对象;或者  [修饰符] 返回值类型 方法名 ([参数列表]) throws 异常列表类

public class A9_3 {
	public static void main(String[] args) {
		int a=5,b=0;
		try {
			if(b==0)
				throw new ArithmeticException();	//抛出异常
			else {
				System.out.println(a+"/"+b+"="+a/b);	//若不抛出异常,则运行此行
			}
		}
		catch(ArithmeticException e){
			System.out.println("异常:"+e+"被抛出了!");
			e.printStackTrace();	//输出当前异常对象的堆栈使用轨迹
		}

	}
}

运行结果:

异常:java.lang.ArithmeticException被抛出了!
java.lang.ArithmeticException
    at Text9.A9_3.main(A9_3.java:9)
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值