Richtlinien für die Fehlerbehandlung
Beim Schreiben eines PowerShell oder Perl Skripts für OnCommand Workflow Automation (WFA) müssen Sie die Richtlinien für die Fehlerbehandlung kennen.
PowerShell Fehlerbehandlung
Richtlinien | Beispiel |
---|---|
Zu den Cmdlets durch PowerShell Runtime wurden allgemeine Parameter wie ErrorAction und WarningAction hinzugefügt.
Weitere Informationen finden Sie unter |
ErrorAction: Das folgende Beispiel zeigt, wie ein nicht-terminierender Fehler als Fehler beim Beenden behandelt wird: WarningAction |
Verwenden Sie die allgemeine Anweisung „ |
try { "In Try/catch block" } catch { "Got exception" } |
Verwenden Sie die spezifische „ |
try { "In Try/catch block" } catch[System.Net.WebExceptional], [System.IO. IOException] { "Got exception" } |
Verwenden Sie die Anweisung „ |
try { "In Try/catch block" } catch { "Got exception" } finally { "Release resources" } |
Verwenden Sie die automatischen PowerShell Variablen, um auf Informationen über Ausnahmen zuzugreifen. |
try { Get-WFALogger -Info -message $("Creating Ipspace: " + $Ipspace) New-NaNetIpspace-Name $Ipspace } catch { Throw "Failed to create Ipspace. Message: " + $_.Exception.Message; } |
Perl-Fehlerbehandlung
Richtlinien | Beispiel |
---|---|
Perl umfasst keine native Sprachunterstützung für Try/Catch Blocks. Verwenden Sie Evaluierungsblöcke zum Prüfen und behandeln von Fehlern. Halten Sie Evaluierungsblöcke so klein wie möglich. |
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", $@ ); |