当我们在脚本任务中调用Dts.Events.FireError方法时,我们将描述作为第三个参数提供。这可用于变量System::ErrorDescription中的错误处理程序。错误处理程序在任何地方都可以使用第二个名为SubComponent的参数吗?如果可以,在哪里?
没有称为子组件的变量。这是一个可以用来帮助对错误源进行分类的字段。假设你有一个脚本下载了一个文件,然后解压缩了它。你可以使用subcomponent参数来识别错误的来源。即:
try
{
//download file
}
catch (Exception e)
{
Dts.Events.FireError(0, "Download File", e.Message, "", 0);
}
try
{
//unzip file
}
catch (Exception e)
{
Dts.Events.FireError(0, "Unzip File", e.Message, "", 0);
}
记录的错误可能如下所示:Unzip File: File does not exist
这可能是一种有用的模式,可以捕捉可能应用于脚本不同部分的一般错误。
System::ErrorDescription
将仅在事件处理程序中可用,但如果您将事件的范围限定为特定组件,则可以以类似的方式进行处理。
如果您不需要,请将其保留为空字符串。