异常处理(1.基本违例)

一.基本违例

(1)违例条件:表示出现什么问题的时候应该中止方法或作用于的继续。在违例条件下,遇到了问题导致程序无法继续下去:因为当地没有提供解决问题所需的足够多的信息。此时,我们能做的唯一事情就是跳出当地环境,将那个问题委托给一个更高级的负责人,这便是违例出现的情况。

(2)违例的产生:一个违例的产生,会发生几件事情:首先,按照与创建java对象一样的方法创建违例对象:在内存“堆”里,使用new来创建。随后,停止当前执行路径,然后从当前的环境里释放出违例对象的句柄。此时,违例控制机制会接管一切,并开始查找一个恰当的地方,用于继续程序的执行。这个恰当的地方便是“违例控制器”。它的职责是从问题中恢复,使程序要么尝试另一条执行路径,要么简单地继续。             创建一个特殊地对象,用它代表我们地信息,并将其Throw出我们当前场景之外。这就叫“产生一个违例”,下面是它地大概形式:
 

if(t==null):
throw new NullPointerException()

它使我们能放弃进一步解决该问题地企图,该问题会被转移到其他更恰当的地方解决。

(3)违例自变量:违例需要用new在内存堆里进行创建,并需要一个构建器。构建器由两个:第一个是默认构建器,第二个则需使用一个字符串变量。使我们能在违例里置入相关信息:

if(t==null):
throw new NullPointerException("t==null");

字符串会用各种方法提取出来,稍后会进行展示。

在这里,关键字throw先执行new表达式,创建一个不在程序常规执行范围之内的对象,并为那个对象调用构建器。随后,对象实例会从方法中返回(可将其想象成另一种返回机制,不必深究)。通过“Throw”出一个违例,亦可从原来的作用域中退出,但是会先返回一个值,再退出方法或作用域。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值