异常处理1

标题 异常处理(1)

异常处理已经成为衡量一门语言是否成熟的标准之一,处理传统的C语言没有提供异常机制之外,其它主流的编程语言如:Java,C#,Python,Ruby等都提供了成熟的异常机制。增加了异常处理机制后的程序有更好的容错性,更加健壮。
---------------------------------(我是分割线) --------------------------------------------
异常处理机制
在这里插入图片描述
为了防止输入时出现某些异常,我们通常会使用 if 语句
但是一切正常是很抽象的,计算机无法识别,我们就可以将业务实现代码放在try块里,把所有异常处理逻辑放在catch块中处理。
在这里插入图片描述
如上图的伪码。
如果try块中的伪码出现异常,系统将自动生成一个异常对象交给Java运行环境,这个过程称为抛出(throw)异常
当运行环境受到异常对象是,回去寻找能够解决的catch块,这个过程称为捕获(catch)异常

提示
不管程序代码块是否处于try块中,只要执行改代码出现了异常,系统总会自动生成一个异常对象。如果程序没有为这段代码定义任何的catch块,程序将自动退出。
注意
try块后面的花括号不可以省略,即使只有一行代码。
catch块后面的花括号同样也不可以省略。
另外,try块里声明的变量是代码块内局部变量,它只在try块内有效,在catch块中不能访问该变量。


Java把所有异常情况分为两种:异常(Exception)和错误(Error),它们都继承自父类Throwable。
Error错误,一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,动态链接失败;通常这种错误不可以捕获或无法修改,这是不应该试图用catch块,也无需在其throws子句后声明该方法可能抛出Error及其任何子类

下面是几种异常处理逻辑的情形

  1. IndexOutOfBoundsException:数组越界异常
  2. NumberFormatException:数字格式异常
  3. AirthmeticException:发生除0异常
  4. Exception:当异常对象是Exception或exception类的子类时。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值