4-25 异常(引入,概念,分类,处理目的)

本文深入探讨Java中的异常处理机制,包括异常的引入、概念、分类及其处理目的。通过生活化的比喻,阐述编译时异常与运行时异常的区别,以及如何通过try...catch...finally和throws两种方式有效处理异常,确保程序的健壮性和用户体验。

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

异常的引入,概念,分类,处理目的

异常的引入:
在生活中:
小明放学回家
在学校(编译时期)

  1. 不要闯红灯
  2. 记得带伞
  3. 不要和陌生人说话

在路上(运行时期)

  1. 闯绿灯被撞了
  2. 碰瓷
  3. 被打劫
  4. 地震(Error)

到家里(执行结束)

异常的概念:
异常的本质就是Java当中对可能出现的问题惊醒描述的一种对象提醒下

异常的分类

	异常:凡是Excetption的子类都是异常
	  编译时异常:在编译时期发生的异常,程序员可以处理,因为编译会报错
			Exception的子类但不是RuntimeExcetion的子类
	  运行时异常: 在运行时期发生的异常,程序员也可以处理,一般都是代码的逻辑性不够严谨不够健壮,依赖的是程序员的经验
			RuntimeExcetion的子类都是运行时异常
	
	  严重错误:在程序执行的整个阶段,都有可能发生,错误的无法解决的,可以避免  例如:StacjOverflow

异常处理的目的

处理异常的目的:并不是为了修复程序的错误,而是就算程序出现了错误,也能够让程序继续执行 ANR

jvm默认是如何处理异常的?

  1. 打印错误信息
    a.异常名称java.lang.ArithmeticExceptionn
    b.异常的消息 / by zero
    c.异常索发生的方法位置 main
    d.异常所在Java文件中ExceptionDemo02
    e.异常发生行号 14
  2. 终止程序
    System.exit(0);

JVM处理异常的方式不能够满足我们开发的需求,那么我们需要自己处理的异常

如何来处理异常?
方式一:try…catch…finally
方式二:throws

处理异常的格式:

		try{
				//放置程序可能出现问题的代码
		}catch(异常类  异常名){
			//这里放置异常处理的代码
		} finally{
			//释放资源
		}

注意:

  1. try块的代码越少越好
  2. try块中一旦发生异常,那么try块中发生异常后面所有的代码都不会被执行
  3. 多个catch块只会执行一个
  4. Exception接受异常必须放在异常的最后面,满足子类后父类

异常的执行流程:

  1. 程序执行到错误行,系统会创建一个异常对象,并且会抛给我们
    ArithmeticeException exp = new ArothmeticeException("/by zero");
    throw exp;

  2. 程序进入catch匹配异常
    匹配成功,程序执行catch块代码
    ArithmeticeException ae = exp;
    匹配失败,交给jvm处理

处理异常的标准方式:

  1. 能够显示处理的尽量显示处理,提高程序的可读性
  2. 但是一定要在异常处理的最好加上 父类Exception处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值