When using a script, you may come to a point where you'd like the task to fail (raise an error) and trigger your On Error tab under certain conditions. This can be done by using the scripting language's built-in error features, described here.
Note that the value or description of the error will not be available to your error process if one is used. However, when available, a description of the error message will be logged in the Watch log.
In VBSCript, the Err.Raise
method will halt the execution of the script and trigger the On Error tab. When using On Error Resume Next
, raising an error will not stop execution. See MSDN for the Raise method properties and this page for a list of available errors to raise. In the case of VBScript, the error number used will determine the message shown in the log.
Dim s s = Watch.GetJobInfo(9) If (s = "") Then Err.Raise 449 ' Raises Error #449: "Argument is not optional" Else ' Do somethign with Job Info 9! Watch.Log "Job Info 9's value is: " + s, 4 End If
Javascript uses the throw
statement within try
to create an exception which, if not caught using catch()
, will cause the script execution to stop and the On Error tab to be triggered. See this page on W3Schools.
var s; s = Watch.GetJobInfo(9); if (s == "") { throw "Value Cannot be empty"; } else { // Do something with Job Info 9! Watch.Log("Job Info 9's value is: " + s,4); }
In Python, the raise
statement is similar to Javascript and will stop processing unless an except
statement is used. See the python documentation.
s = Watch.GetJobInfo(9) if not s: raise NameError('Value cannot be empty') else: # Do something with Job Info 9! Watch.Log("Job Info 9's value is: " + s,5)
In PERL, die()
raises an exception and triggers the On Error tab, unless the unless
command is used. See the perl documentation.
$s = $Watch->GetJobInfo(9); if (s = "") { die "Value cannot be empty"; } else { # Do something with Job Info 9! $Watch->Log("Job Info 9's value is: " . $s,4); }