adams.flow.control.TryCatch
Safe-guards the execution of the 'try' sequence of actors. In case of an error, the 'catch' sequence is executed to generate output instead.
This works similar to the Java try-catch-block. Allowing the flow to recover from unexpected errors and, for instance, return default values.
If the 'try' block fails and the 'catch' block accepts input (doesn't have to be a transformer, it can be just a source, eg SequenceSource), then the same input token is presented to the 'catch' block. This allows you to react to errors better. E.g., if the input token is a filename, then you can create an error message made up of the recorded error and the filename and pass this on.
Note for developers: If actors use other actors internally, these need to be accessible. This can be achieved by simply implementing the adams.flow.core.InternalActorHandler interface.
Flow input/output:
- input: adams.flow.core.Unknown
- output: adams.flow.core.Unknown
Actor handler information:
- Standalones allowed: false
- Source allowed: true
- Forwards input: true
The logging level for outputting errors and debugging output.
command-line | -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> |
default | WARNING |
min-user-mode | Expert |
The name of the actor.
command-line | -name <java.lang.String> |
default | TryCatch |
The annotations to attach to this actor.
command-line | -annotation <adams.core.base.BaseAnnotation> |
default |
|
If set to true, transformation is skipped and the input token is just forwarded as it is.
command-line | -skip <boolean> |
default | false |
If set to true, the flow execution at this level gets stopped in case this actor encounters an error; the error gets propagated; useful for critical actors.
command-line | -stop-flow-on-error <boolean> |
default | false |
min-user-mode | Expert |
If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well.
command-line | -silent <boolean> |
default | false |
min-user-mode | Expert |
The 'try' branch which is attempted to be executed.
command-line | -try <adams.flow.core.Actor> |
default | adams.flow.control.SubProcess -name try |
The 'catch' branch which gets executed if the 'try' branch fails.
command-line | -catch <adams.flow.core.Actor> |
default | adams.flow.control.SubProcess -name catch |
If enabled, then any error gets stored in the specified variable 'errorVariable'; does not modify the variable if there was no error.
command-line | -store-error <boolean> |
default | false |
The name of the variable to store the error messages in.
command-line | -error-variable <adams.core.VariableName> |
default | trycatch |
The error post-processor to use.
command-line | -error-post-processors <adams.flow.control.errorpostprocessor.ErrorPostProcessor> |
default | adams.flow.control.errorpostprocessor.Null |
min-user-mode | Expert |