The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Config::Model::Exception - Exception mechanism for configuration model

SYNOPSIS

 # in module
 Config::Model::Exception::Model->throw
     (
       object => $self,
       error => "Oops in model"
     ) if $fail ;

 # in application
 try 
   { 
     function_that_may_fail() 
   }
 catch Config::Model::Exception::Model with
  {
    my $exception = shift;
    warn $ex->error ;
    # fix failure
  }

DESCRIPTION

You must read Exception::Class and Error before reading on.

This module creates all the exception class used by Config::Model.

All expection class name begins with Config::Model::Exception::

The exception classes are:

Any

Base class. It accepts an object argument. The user must pass the reference of the object where the exception occured. The object name (or xpath) will be used to generate the error message.

  TODO: list all exception classes and hierarchy. 

How to get trace

By default, most of the exceptions will not print out the stack trace. For debug purpose, you can force a strack trace.

For instance, if you want a stack trace for an "unknown element" error, you must add this line in your script:

  Config::Model::Exception::UnknownElement->Trace(1) ;

If you're not sure which class to trace, add this line in your script:

  Config::Model::Exception::Any->Trace(1) ;

AUTHOR

Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO

Config::Model, Config::Model::Instance, Config::Model::Node, Config::Model::Value Error, Exception::Class