异常的参数

zhushican | 建站教程 | 2014年8月14日

就像Java中的其它对象,你也可以用new在堆中创建异常,而new会调用它的构造函数并为它分配内存。所有的标准异常都有两个构造函数;第一个是默认的构造函数,第二个是要拿一个字符串当参数的,因此,你可以在异常中放入一些相关的信息。

关键词throw会引发许多很神奇的事情。通常情况下,你会先用new来创建一个表示错误条件的对象。然后再把这个对象的reference交给throw。虽然这个对象不是方法设计要返回的那种对象,但实际上,方法还是返回这个对象。有一种理解异常处理的简化思路,就是把它想成一种不同的返回机制。但是这种想法别走得太远,否则就有麻烦了。你也可以用抛异常的方法从方法的作用域里退出。总之,它会返回了一个值,并且退出了方法或作用域。

[阅读全文]
11次浏览 0条评论 异常  参数  

异常处理的模型

zhushican | 建站教程 | 2014年8月14日

理论上将异常处理划分成两种基本模型。中止模型假定错误是如此的严重,以至于你没办法再回到错误发生的地方。也就是说,这段程序经过判断认为,它已经没有办法挽回这个局势了,于是只能抛出异常,并且希望这个错误别再回来。还有一种被称为“继续”,它的意思是,异常处理程序应能做些什么以修补当前的运行环境,然后重新尝试上次出错的那个方法,它假设第二次能获得成功。继续的意思是,处理完异常之后,你仍然希望能继续运行当前的指令。在这种情况下,异常更像是在调用方法——如果你想在Java中得到类似的效果,可以用这个办法来设置运行环境。

[阅读全文]
7次浏览 0条评论 异常  处理  模型  
回顶部