我有一个很简单的问题:在包级别可以进行异常处理吗?如果是,该如何实施?
我的程序包中包含过程和函数,如果发生NO_DATA_FOUND
例外情况,我想在我的所有过程和函数中都执行相同的操作。
所以我的问题是:我可以写吗
WHEN NO_DATA_FOUND THEN
只需NO_DATA_FOUND
在我的所有过程/函数中对异常使用相同的行,或者我必须在每个过程/函数中都编写该异常处理程序。
不,不可能。我希望这不在语言中,因为它与异常处理程序的正确使用和预期使用不一致。
我适用的一般经验法则是:“如果您没有应对异常的特定且有帮助的事情,请不要抓住它”。
如果NO_DATA_FOUND
在给定的情况下是预期的并且确定,并且您可以忽略它和/或为数据采用默认值,则您希望捕获并处理该值(而包级处理程序将无济于事,因为您的处理将视情况而定)。在所有其他情况下,您都不想抓住NO_DATA_FOUND
-它代表了一个真正的例外:不应该发生的事情,超出设计假设的事情。让这些消息传播到最高级别,他们可以对其进行记录和/或将其报告给客户端。
但是,如果您解释了这是什么,那么您可能希望得到更好的答案,即希望程序包级异常处理程序执行该操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句