Avatar billede lakana Nybegynder
13. oktober 2007 - 15:24 Der er 6 kommentarer og
1 løsning

Problemer med flere forskellige klasser

Jeg har en klasse der hedder MySQL hvor jeg har en funktion der returnerer mysql_query().

Men når jeg kalder denne funktion igennem en anden klasse, og der er en fejl - så fortæller den, at fejlen forekom i klassen MySQL og ikke i den klasse hvor fejlen i virkeligheden skete.

Hvad kan der gøres ved dette?
Avatar billede zurekk Nybegynder
13. oktober 2007 - 16:05 #1
Rette fejlen?
Avatar billede pidgeot Nybegynder
13. oktober 2007 - 16:10 #2
Du kan enten skrive din egen errorhandler der skriver en backtrace ud - se PHP-dokumentationen - eller du kan sende to ekstra parametre ind der angiver filnavn og linjenummer. Disse angiver du så i metodekaldet med de magiske konstanter __FILE__ og __LINE__.
Avatar billede arne_v Ekspert
13. oktober 2007 - 16:16 #3
1)  Overvej iøvrigt at logge fejl til en log fil og udskrive en mere brugervenlig
    tekst til brugeren.

2)  Laver din MySQL klasse noget som klasserne i mysqli eller Pear DB / MDB ikke gør ?
Avatar billede lakana Nybegynder
13. oktober 2007 - 16:57 #4
zurekk: ok

pidgeot: hvad er en backtrace?

arne_v: men selvom jeg skriver det i en logfil, så skriver den vel stadig samme fejl som jeg modtager nu.

nej min mysql-klasse laver ikke noget pear db ikke gør. synes bare, at pear db er MEGET uoverskuelig.
Avatar billede arne_v Ekspert
13. oktober 2007 - 17:25 #5
Selvfølgelig. Det er udover den akutte problem stilling.
Avatar billede pidgeot Nybegynder
13. oktober 2007 - 17:32 #6
En backtrace viser dig hvordan den er kommet hen til den linje kode der forårsager fejlen. Ved at skrive den ud, kan du direkte hvordan den er kommet hen til det sted hvor den laver fejl.

http://dk2.php.net/debug_backtrace
Avatar billede lakana Nybegynder
07. august 2011 - 20:45 #7
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester