Thread OOP Parameterübergabe direkt oder indirekt ? (21 answers)
Opened by der_thomas at 2014-04-26 00:16

Gast wer
 2014-04-29 10:32
#175104 #175104
mach methoden "error" und "has_error". speichere die fehlermeldungen im objekt.

Code (perl): (dl )
print $obj->error if $obj->has_error;


Code (perl): (dl )
1
2
3
4
5
6
7
8
sub error { my $x=$_[0]->{error}; $_[0]->{error}=''; $x }
sub has_error{ $_[0]->{error}? 1 : 0 }

sub ... {
  ...
  $self->{error}='Das ist ein Fehler' unless $ok ;
  ...
}


oder mache einem handler:

Code (perl): (dl )
$obj->set_error_handler(sub{ print "$_[1]\n" });


Code (perl): (dl )
1
2
3
4
5
6
7
8
sub on_error{ $_[0]->{error}->(@_) if $_[0]->{error} }
sub set_error_handler{ $_[0]->{error}=$_[1] if ref $_[1] eq 'CODE' }

sub ... {
  ...
  $self->on_error('Das ist ein Fehler') unless $ok ;
  ...
}

View full thread OOP Parameterübergabe direkt oder indirekt ?