通过自动化脚本创建的错误消息

要发布错误消息,请将预定义的 errorgroup 隐式变量和预定义的 errorkey 隐式变量设置为错误消息组和错误键。您还可以通过在 API 中使用 MXException 类来发布错误消息。

示例:使用 MXException 类发送错误消息

您可以使用公共的 MXException 类及其构造方法。将消息组标识、消息键标识以及消息的任何参数传递到构造方法 MXException 中。 在 MXException 构造方法之前使用 Jython 关键字 raise 以将错误消息发送到用户界面。

在以下脚本样本中,以用于指示新资产的前缀无效的错误作为示例:

from psdi.util import MXApplicationException
⋮
if<some condition>:
   params = [prefix, assettype]
   raise MXException('asset','invalidassetprefix', params)

示例:使用隐式变量发送错误消息

您可以通过使用脚本编制框架中可用的隐式变量从脚本代码发出错误消息。将 errorgroup 隐式变量设置为错误消息组。将 errorkey 隐式变量设置为错误键。将 params 隐式变量设置为前缀和对象类型(例如资产)。

执行完成后,脚本编制框架将检测到错误标志,此框架将发送该错误组与错误键组合的相应异常。在脚本中设置错误标志之后,脚本将继续执行。

例如,您可以要求在“资产”应用程序中创建新资产记录时,该资产编号必须符合特定的命名约定。 当脚本检测到资产编号的前缀不正确时,您可以创建错误消息以便发送给用户。
  • 如果资产类型为 FACILITIES,那么资产编号必须以 FT 为前缀。
  • 如果资产类型为 FLEET,那么资产编号必须以 FL 为前缀。
  • 如果资产类型为 IT,那么资产编号必须以 IT 为前缀。
  • 如果资产类型为 PRODUCTION,那么资产编号必须以 PR 为前缀。

在创建新资产记录并且用户单击保存时,脚本将测试资产编号以查找有效的前缀。如果找不到前缀,那么用户将接收到错误消息。脚本编制框架将检取预定义的消息并将其放入预定义的变量。

在以下 Jython 代码样本中,Prefixassettype 是脚本变量:

def setError(prefix):
  global errorkey, errorgroup, params
  errorkey=invalidassetprefix
  errorgroup=asset
  params=[prefix, assettype]
if atype_internal=='FACILITIES' and not anum.startswith('FT'):
  setError('FT')
elif atype_internal=='FLEET' and not anum.startswith('FL'):
  setError('FL')
elif atype_internal=='IT' and not anum.startswith ('IT'):
  setError('IT')
elif atype_internal=='PRODUCTION' and not anum.startswith ('PR'):
  setError('PR')

当资产编号前缀的脚本代码测试失败时,代码将调用此脚本中的公共函数。此脚本将传递参数,以供该函数在消息中使用。公共函数将 errorgrouperrorkeyparams 隐式变量设置为“数据库配置”应用程序中定义的相应消息。脚本编制框架会识别到脚本中使用了这些隐式变量,在脚本执行完成之后,脚本编制框架会将错误消息推送到应用程序的用户界面。