#错误处理

0 关注者 · 5 帖子

错误处理是指对软件应用程序中存在的错误情况进行响应和恢复的过程。此过程包括对应用程序错误、编程错误或通信错误的预期、检测和解决。

了解更多信息

文章 liu bo · 七月 7, 2024 1m read

问题:锁管理里边包含很多WorkQueueMgr的锁,我想批量去移除,比较多,一个一个移除比较慢

解决:查询所有的进程,过滤routine不包含某个routine的进程,进行终止

代码:

ClassMethod BatchTerminalProcessQuery()
{     Set Rset = ##class(%ResultSet).%New("%SYS.ProcessQuery:ListPids")
Rset.Execute()
While Rset.Next() {
   CurrentLineAndRoutine=""
   &sql(SELECT CurrentLineAndRoutine INTO :CurrentLineAndRoutine FROM %SYS.ProcessQuery WHERE Pid = :Rset.GetData(1))
   continue:CurrentLineAndRoutine'[".WorkQueueMgr"
   CurrentLineAndRoutine,!
   pid=Rset.GetData(1)
   sc= $System.Process.Terminate(pid)
   sc,!
   ;w $ZU(4,pid,1)
}
Rset.Close()
}

0
0 0
文章 Michael Lei · 八月 9, 2022 2m read

ObjectScriptt至少有三种处理错误的方法(状态代码status codes、异常 exceptions, SQLCODE等)。大多数系统代码使用状态码,但由于一些原因,异常更容易处理。在处理遗留代码时,你要花一些时间在不同的技术之间进行转换。我经常使用这些片段作为参考。希望它们对其他人也是有用的。

0
0 440
文章 Nicky Zhu · 一月 18, 2021 4m read

在最近的项目里,多方同时连接同一个数据库并执行增删改查等各项数据操作。研发人员不时发现一些数据在不合规的情况下被新增甚至删除。因此,在实际工作中会有监控数据操作以便识别和处理异常操作的需求。本文将以监控和识别删除操作为例,介绍如何通过IRIS的审计功能实现对数据操作的监控和查询。

注意事项

在应用审计功能之前,必须注意的是:

0
0 409
文章 Hao Ma · 一月 15, 2021 5m read

InterSystems编程语言的错误管理技术一直在发展。接下来,我们将展示几种不同的错误管理实现方式,以及为什么要使用TRY/THROW/CATCH机制。  

您可以点击这里阅读官方的错误处理建议。  

为了支持遗留应用程序,InterSystems不会废弃非推荐的错误管理方法。我们建议使用objectscriptQuality等工具来检测遗留的非推荐用例以及其他可能的问题和错误。  

$ZERROR

$ZERROR是一种较老的错误管理机制,支持与标准“M”不同的实现。虽然$ZERROR现在仍然有效,但我们非常不推荐使用。  

如果您已经使用了$ZERROR,那么很容易对该变量进行错误的设计使用。$ZERROR是一个全局公共变量,可以被当前进程中正在执行的所有routine(宏)(来自InterSystems或自定义的)进行访问和修改。因此,它的值仅在产生错误的时候是可靠的。InterSystems不保证$ZERROR在调用系统库时会保留旧值。  

我们在这里对一些案例展开分析。  

案例1:自定义代码中的错误代码  

0
0 212