Skip to main content
OnCommand Workflow Automation 5.1
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Directrices para la gestión de errores

Colaboradores

Debe tener en cuenta las directrices para la gestión de errores al escribir un script PowerShell o Perl para OnCommand Workflow Automation (WFA).

Gestión de errores de PowerShell

Directrices Ejemplo

Los parámetros comunes añadidos a los cmdlets de PowerShell Runtime incluyen parámetros de control de errores como ErrorAction y WarningAction:

  • El parámetro ErrorAction determina la forma en que un cmdlet debe reaccionar ante un error que no es de terminación del comando.

  • El parámetro WarningAction determina cómo debe reaccionar un cmdlet a una advertencia del comando.

  • Stop, SilentlyContinue, Inquire y Continue son los valores válidos para los parámetros ErrorAction y WarningAction.

Para obtener más información, puede utilizar la Get-Help about_CommonParameters En la CLI de PowerShell.

ErrorAction: El ejemplo siguiente muestra cómo manejar un error que no es de terminación como un error de terminación:

New-NcIgroup-Name $IgroupName-Protocol $Protocol-Type$OSType-ErrorActionstop

WarningAction

New-VM-Name $VMName-VM $SourceVM-DataStore$DataStoreName-VMHost$VMHost-WarningActionSilentlyContinue

Utilice la instrucción general "'try/catch'" si no se conoce el tipo de excepción entrante.

try
{
"In Try/catch block"
}
catch
{
"Got exception"
}

Utilice la instrucción específica «'try/catch'» si conoce el tipo de excepción entrante.

try
{
"In Try/catch block"
}
catch[System.Net.WebExceptional], [System.IO.
IOException]
{
"Got exception"
}

Utilice la declaración «'finally'» para liberar recursos.

try
{
"In Try/catch block"
}
catch
{
"Got exception"
}
finally
{
"Release resources"
}

Utilice variables automáticas de PowerShell para acceder a la información acerca de excepciones.

try
{
Get-WFALogger -Info -message $("Creating
Ipspace: " + $Ipspace)
New-NaNetIpspace-Name $Ipspace
}
catch
{
Throw "Failed to create Ipspace. Message:
" + $_.Exception.Message;
}

Gestión de errores Perl

Directrices Ejemplo

Perl no incluye compatibilidad con el idioma nativo para bloques try/catch. Utilice bloques de evaluación para comprobar y manejar errores. Mantenga los bloques de evaluación lo más pequeños posible.

eval {

$wfa_util->sendLog('INFO',
"Quiescing the relationship :
$DestinationCluster://$DestinationVserver
/$DestinationVolume"
    );
$server->snapmirror_quiesce(
'destination-vserver' => $DestinationVserver,
'destination-volume'  => $DestinationVolume
    );
$wfa_util->sendLog('INFO', 'Quiesce operation
started successfully.');
};

$wfa_util->checkEvalFailure(
"Failed to quiesce the SnapMirror relationship
$DestinationCluster://$DestinationVserver
/$DestinationVolume",
    $@
);