Toon posts:

[perl] XML::SAX::Exception vraag

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik ben bezig met een systeem wat een XML document van een derde leest. Deze derde heeft misschien geen correcte XML aangeleverd.
Opzich vangt XML::Sax dit prima af:
code:
1
Document requires an element [Ln: 1, Col: 0]

Deze perl module gebruikt de XML::SAX::Exception. Weet iemand hoe ik dit af kan vangen in een variabele? Het is misschien een lame oplossing, maar (tijdelijk) STDERR naar een variabele doen lijkt mij ook prima.

Ik heb op google wat documentatie gevonden (En de sourcecode gelezen van de exception class.), http://search.cpan.org/~k.../lib/XML/SAX/Exception.pm.

Ik kom er niet zo goed uit hoe ik die 'Exception' op kan vangen, zodat ik de derde kan doorgeven dat er een probleem is met zijn XML document.

Heeft iemand misschien suggesties?

Alvast bedankt!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 08-02 17:12
Ik heb weinig gedaan met perl / oo in perl, maar normaal gesproken kun je door middel van een try-catch statement error's opvangen. Als iets in het try gedeelde een fout gaat en er een exception wordt gegooit wordt de catch uitgevoerd, die vangt dus die error op.

Verwijderd

Topicstarter
Ah bedankt!

Perl versie was even verder zoeken, dit heeft hte opgelost:
code:
1
2
3
4
5
   eval {
        $self->{SAX}->parse_string($self->{xml});
        };
        $error=$@ if $@;
        print("Ba error: $error\n");


:)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

offtopic:
[google=perl "eval is evil"] :X

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • JeromeB
  • Registratie: September 2003
  • Laatst online: 29-12-2025

JeromeB

woei

-NMe- schreef op zaterdag 17 december 2005 @ 22:54:
offtopic:
[google=perl "eval is evil"] :X
offtopic:
Volgensmij wordt eval in PERL vaak gebruikt om exceptions af te handelen. (dus niet om string/expressies te evalueren).

[ Voor 5% gewijzigd door JeromeB op 17-12-2005 23:34 ]

PC load letter? What the fuck does that mean?


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Of het die exceptionfunctionaliteiten ook biedt weet ik niet, maar verder lijkt het gewoon hetzelfde te zijn als eval in andere talen:
eval EXPR
EXPR is parsed and executed as if it were a little Perl program. It is executed in the context of the current Perl program, so that any variable settings or subroutine and format definitions remain afterwards. The value returned is the value of the last expression evaluated, or a return statement may be used, just as with subroutines. The last expression is evaluated in scalar or array context, depending on the context of the eval.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • JeromeB
  • Registratie: September 2003
  • Laatst online: 29-12-2025

JeromeB

woei

-NMe- schreef op zondag 18 december 2005 @ 00:36:
Of het die exceptionfunctionaliteiten ook biedt weet ik niet, maar verder lijkt het gewoon hetzelfde te zijn als eval in andere talen:

[...]
De eval EXPR bestaat inderdaad ook in PERL, maar daar gaat het in dit topic niet om. Het gaat om de eval BLOCK. Als je voor de grap eens op je eigen zoeklink klikt dan kom je voldoende links tegen.

PC load letter? What the fuck does that mean?


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

offtopic:
* NMe gaat zich in een hoekje zitten schamen. Vaag trouwens dat ze er in Perl voor gekozen hebben om het naast "goto" meest gehate woordje uit de programmeerbusiness te gebruiken voor exception handling. 8)7 Hoe dan ook, ik heb dit topic genoeg offtopic geholpen, dus ik laat het hier maar bij. :+

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1