Gå til innhold

Å "fange" en feil i PHP; utføre op. hvis feil


Anbefalte innlegg

Skrevet (endret)

Når mine php-dokumenter utfører operasjoner som medfører feil, viser de den vanlige error-siden med informasjon om hvilken fil og hvilken linje feilen oppstod.

 

Men er det mulig - og i så fall hvordan? - å fange opp feilen, som feks i Visual Basic:

 

Try
    Her er det skript som kanskje lager en feil
Catch
    Her er det som skal skje hvis skriptet over lager en feil
End Try

 

Og på den måten vise en "Det har skjedd en feil. Feilen er loggført, og vil bli sjekket snart."-side?

 

 

Takk,

Degeim

Endret av Degeim
Videoannonse
Annonse
Skrevet

Men det viser seg dessverre at jeg får følgende feil:

 

Parse error: parse error, unexpected '{' in /home/www/psibasoft.awardspace.com/erlend/php.php on line 3

 

Det eneste på linje 3 er:

 

try{

 

Hele try-blokken er riktig avsluttet, og det er semikoloner på alle steder det skal være det. Jeg bruker (som dere ser) www.awardspace.com sin gratis-server.

 

Kan det være noe som ikke er aktivert i phpen deres?

Skrevet (endret)
De har 4.4.1. Er det noe annet jeg kan bruke da?

6932752[/snapback]

Vel, hvis du veit eksakt hvor feilen vil oppstå kan du gjøre noe slikt:

@et_eller_annet or die('error');

et_eller_annet kan i stor grad byttes ut med det meste (funksjoner, variabler osv.). Die kan i praksis erstattes av enhver funksjon du måtte ønske å bruke for feilhåndteringen. En fordel å avslutte den funksjonen med die eller exit slik at resten av scriptet ikke kjører, men det er ingenting i vegen for å la det fortsette. Bare vær obs på at du da kan ha falske data fra akkurat den linja.

 

PS: @ brukes for å tie en linje slik at den ikke gir noen feilmelding.

 

Tillegg: Ja, jeg veit det kan diskuteres hvor pent det er, men det funker nå iallfall.

Endret av Ernie
Skrevet

Så lenge man viser en form for feil, så mener ikke jeg at det er galt å bruke @. Ikke alltid det er så pent med en PHP-error på en stor side (dagbladet.no har ofte dette).

 

set_error_handler() lar deg lage din egen feilmelding på hver error-gruppe, og er kanskje enklere enn å lage en egen "@... OR die()" for hver del som kan gi en feilmelding.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...