ObjectScriptt至少有三种处理错误的方法(状态代码status codes、异常 exceptions, SQLCODE等)。大多数系统代码使用状态码,但由于一些原因,异常更容易处理。在处理遗留代码时,你要花一些时间在不同的技术之间进行转换。我经常使用这些片段作为参考。希望它们对其他人也是有用的。
///Status from SQLCODE:set st = $$$ERROR($$$SQLError, SQLCODE, $g(%msg)) //embedded SQLset st = $$$ERROR($$$SQLError, rs.%SQLCODE, $g(rs.%Message)) //dynamic SQL///Exception from SQLCODE:throw ##class(%Exception.SQL).CreateFromSQLCODE(SQLCODE,%msg) //embedded SQLthrow ##class(%Exception.SQL).CreateFromSQLCODE(rs.%SQLCODE,rs.%Message) //dynamic SQLthrow:(SQLCODE'=0)&&(SQLCODE'=100) ##class(%Exception.SQL).
.png)
.png)
.png)
.png)
.png)
.png)

.png)



.png)



