从头认识java-10.2 异常参数以及捕获异常

本文介绍了Java中异常处理的基本概念,包括如何使用异常参数使异常信息更明确,以及通过try-catch-finally结构来捕获并处理异常。文章还探讨了异常处理的两种模型:断开与恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这一章节我们来简单讨论一下异常参数以及捕获异常。

1.异常参数

在异常当中我们可以加入参数,从而使异常更加清晰。

package com.ray.ch10;


public class Test {

	public static void main(String[] args) {
		throw new RuntimeException("运行时异常");
	}

}


输出:

Exception in thread "main" java.lang.RuntimeException: 运行异常
at com.ray.ch10.Test.main(Test.java:7)

从输出结果可以看见,我们可以通过参数传递一些信息给程序员,使得代码异常更加明确。

2.捕获异常

(1)try块

package com.ray.ch10;

public class Test {

	public static void main(String[] args) {
		try {
			//dosomething
		} finally {
			
		}
	}
}


注意:try块需要联合finally一起使用,其实这样就保证即便有异常,也会有最终的处理。

try只是尝试各种语句,然后有异常就会在异常点停止执行代码,最后有finally收尾,但是在这个过程里面不处理异常。(当然我们也可以把finally看作是一种处理)

package com.ray.ch10;

public class Test {

	public static void main(String[] args) {
		try {
			throw new RuntimeException();
		} finally {
			System.out.println("dosomething");
		}
	}
}


(2)try catch

package com.ray.ch10;

public class Test {

	public static void main(String[] args) {
		try {
			throw new RuntimeException("抛出运行时异常");
		} catch (RuntimeException e) {
			System.out.println("处理运行时异常");
			e.printStackTrace();
		} catch (Exception e) {
			System.out.println("处理异常");
			e.printStackTrace();
		}
	}
}



输出:

处理运行时异常
java.lang.RuntimeException: 抛出运行时异常
at com.ray.ch10.Test.main(Test.java:7)

从输出结果可以看到,处理异常的步骤:

(1)发现异常

(2)找到自己类型的异常,一般来说,异常的类型就已经是一个异常信息。

(3)处理异常

(4)抛出异常,并在异常地点断开代码的执行

注意:一般是先找到自己类型的异常,如果找不到,再向上转型。

3.异常处理的模型

异常处理模型分为两种:断开与恢复

我们上面演示的都是断开的处理模型,如果是恢复模型,则把try放到while里面,直到处理结果满意为止,但是这样增添了无数维护成本,因此最终大部分的情况都只是使用断开模型。

总结:这一章节简单讲述了异常参数以及捕获异常。

这一章节就到这里,谢谢。

-----------------------------------

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值