diotalevi has asked for the wisdom of the Perl Monks concerning the following question:
The following code shows that Class::Delegation does two things wrong. It masks the real exception and it misreports the exception as a non-existant table method. So what's a perl hacker to do? Write all my delegation code manually and toss C::D?
$w = wrapper->instance; $w->table; # Dies with the error "Could not delegate wrapper::table" package wrapper; sub instance { return bless { schema => database->new() }, shift(); } sub schema { $_[0]->{schema} } use Class::Delegation send => '-ALL', to => 'schema'; package database; sub new { bless {}, shift() } sub table { $_[0]->column } sub column { die "Some exception" }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Class::Delegation is incompatible with exceptions?
by Jenda (Abbot) on Jun 13, 2003 at 15:24 UTC | |
by diotalevi (Canon) on Jun 13, 2003 at 15:30 UTC | |
by Jenda (Abbot) on Jun 13, 2003 at 16:58 UTC | |
|
Re: Class::Delegation is incompatible with exceptions?
by adrianh (Chancellor) on Jun 13, 2003 at 15:29 UTC | |
|
Solved! Re: Class::Delegation *is* compatible with exceptions?
by diotalevi (Canon) on Jun 15, 2003 at 22:54 UTC |