1
2
不,没有。但是Oracle的最新版本(至少10g)为您提供了它自己的例外:
要获得您要查找的内容,您可以分析此错误以获取表名和列名(本例中为t和v),然后从“用户”选项卡“注释”和“用户”栏“注释”中查找注释,并使用这些注释重新构造消息。 |
2
2
不。 那么,raise_application_exception()允许您使用两个项目,即错误代码和一条文本消息。如果您抛出自己的异常,那么可以格式化消息以包含此信息并将其解析出来。 另一种方法是将此信息放入全局“错误表”,然后引发异常。 为了跟进下面的评论,Oracle10g包括:
这允许您分析多个引发的错误。 This blog post 演示如何解析此信息以从调用堆栈中提取更多更好的信息。但它仍然需要分析错误消息,而不是包含您自己的错误消息。 |
3
1
是的,您可以这样做,但只能用于源代码位置。退房
您将得到一个字符串,其中包含发生错误的pl/sql片段的行号和对象名。 |