/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
undertrykke fejl fra modul (Image::Exif)
Fra : Kim Schulz


Dato : 12-08-04 17:13

hejsa
jeg sider og roder med modulet Image::Exif i forbindelse med et program
der skal sortere nogle billeder ud fra det tidspunkt der står som
"Creation Time" i deres Exif tags.
Desværre har alle billeder ikke Exif Data og derfor kommer der til tider
nogle fejl der bliver skrevet ud til skærmen.

Hvordan fanger jeg lige disse fejl inden de bliver skrevet ud?

linjen som smider fejlen er f.eks.:
my $out = $exif->filename("$fullpath");

MVH
Kim

 
 
Tore Aursand (12-08-2004)
Kommentar
Fra : Tore Aursand


Dato : 12-08-04 20:10

On Thu, 12 Aug 2004 18:12:30 +0200, Kim Schulz wrote:
> linjen som smider fejlen er f.eks.:
> my $out = $exif->filename("$fullpath");

Du sier ingenting om hvilken feilmelding du får. Du kan i mange
tilfeller kontrollere resultatet av en metode på denne måten;

if ( my $out = $exif->filename($fullpath) ) {
# ...
}
else {
# Feil oppstod
}

Som du ser er det ingen vits i å bruke hermetegn (") rundt '$filnavn'.


--
Tore Aursand <tore@aursand.no>
"The science of today is the technology of tomorrow." (Edward Teller)

Kim Schulz (12-08-2004)
Kommentar
Fra : Kim Schulz


Dato : 12-08-04 20:15

On Thu, 12 Aug 2004 21:10:10 +0200
Tore Aursand <tore@aursand.no> wrote:

> On Thu, 12 Aug 2004 18:12:30 +0200, Kim Schulz wrote:
> > linjen som smider fejlen er f.eks.:
> > my $out = $exif->filename("$fullpath");
>
> Du sier ingenting om hvilken feilmelding du får. Du kan i mange
> tilfeller kontrollere resultatet av en metode på denne måten;
>
> if ( my $out = $exif->filename($fullpath) ) {
> # ...
> }
> else {
> # Feil oppstod
> }

Det vil jeg prøve

> Som du ser er det ingen vits i å bruke hermetegn (") rundt '$filnavn'.

jeg fik fejl med ikke-eksisterende filer hvis $fullpath indeholdt
mellemrum. Derfor havde jeg "" omkring.

Peter Makholm (13-08-2004)
Kommentar
Fra : Peter Makholm


Dato : 13-08-04 07:50

Kim Schulz <kim@schulz.dk> writes:

> Desværre har alle billeder ikke Exif Data og derfor kommer der til tider
> nogle fejl der bliver skrevet ud til skærmen.

Hvordan fejl?

> Hvordan fanger jeg lige disse fejl inden de bliver skrevet ud?

Hvis det skyldes kald til warn kunne du gøre noget ala:

$SIG{__WARN__} = sub { push @warnings, $_[0] };

Eller bare

$SIG{__WARN__} = sub { };

Hvis det er fordi Image::Exif kalder programmer der skriver ud på
STDERR så brukker du dig til forfatteren af modulet og lukker STDERR.

--
Peter Makholm | The four letter word beginning with L?
peter@makholm.net | It's life, love, libc or lisp
http://hacking.dk | -- Depending on you point of view

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste