NAME
Workflow::Exception - Base class for workflow exceptions
VERSION
This documentation describes version 2.05 of this package
SYNOPSIS
# Standard usage
my
$user
=
$wf
->context->param(
'current_user'
);
unless
(
$user
->check_password(
$entered_password
) ) {
workflow_error
"User exists but password check failed"
;
}
# Pass a list of strings to form the message
unless
(
$user
->check_password(
$entered_password
) ) {
workflow_error
'Bad login: '
,
$object
->login_attempted;
}
# Using other exported shortcuts
configuration_error
"Field 'foo' must be a set to 'bar'"
;
validation_error
"Validation for field 'foo' failed: $error"
;
DESCRIPTION
First, you should probably look at Exception::Class for more usage examples, why we use exceptions, what they are intended for, etc.
This is the base class for all workflow exceptions. It declares a handful of exceptions and provides shortcuts to make raising an exception easier and more readable.
METHODS
throw( @msg, [ \%params ])
This overrides throw() from Exception::Class to add a little syntactic sugar. Instead of:
$exception_class
->throw(
message
=>
'This is my very long error message that I would like to pass'
,
param1
=>
'Param1 value'
,
param2
=>
'Param2 value'
);
You can use:
$exception_class
->throw(
'This is my very long error message '
,
'that I would like to pass'
,
{
param1
=>
'Param1 value'
,
param2
=>
'Param2 value'
} );
And everything will work the same. Combined with the SHORTCUTS this makes for very readable code:
workflow_error
"Something went horribly, terribly, dreadfully, "
"frightfully wrong: $@"
,
{
foo
=>
'bar'
};
configuration_error
This method transforms the error to a configuration error.
This exception is thrown via </mythrow> when configuration of a workflow is unsuccessful.
persist_error
This method transforms the error to a persistance error.
This exception is thrown via </mythrow> when the save of a workflow is unsuccessful.
validation_error
This method transforms the error to a validation error.
This exception is thrown via </mythrow> when input data or similar of a workflow is unsuccessful.
workflow_error
This method transforms the error to a workflow error.
This exception is thrown via </mythrow> when input data or similar of a workflow is unsuccessful.
SHORTCUTS
Workflow::Exception - import using
workflow_error
Workflow::Exception::Configuration - import using
configuration_error
Workflow::Exception::Persist - import using
persist_error
Workflow::Exception::Validation - import using
validation_error
SEE ALSO
COPYRIGHT
Copyright (c) 2003-2021 Chris Winters. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Please see the LICENSE
AUTHORS
Please see Workflow