【发布时间】:2014-01-15 10:10:23
【问题描述】:
我正在尝试打印从 Oracle 的 RAISE_APPLICATION_ERROR 方法返回的异常消息。
我可以用
显示异常消息$exc->errorInfo[2]
但是,该消息中的某些文本不应显示给最终用户。 这是示例异常消息:
OCIStmtExecute:ORA-20001:我的错误消息 ORA-06512:在“MYDB.PACKAGE”,第 78 行 ORA-06512:在第 1 行 (/tmp/pear/download/PDO_OCI-1.0/oci_statement.c:142)
除了使用preg_replace() 解析此文本之外,还有什么更好的方法吗?
如果没有,您能否建议在正则表达式中使用任何模式。
我有这个工作,但它不是理想的解决方案:
$parse1 = explode('ORA-', $exc);
$parse2 = explode(':', $parse1[1]);
return $parse2[1];
【问题讨论】:
-
你能告诉我们你期望的输出吗
-
@Gaurav 只是我的错误消息
标签: php regex oracle parsing exception