23. februar 2007 - 11:08Der er
7 kommentarer og 1 løsning
Domæne-test
Hej Eksperter Jeg har lavet et lille modul, hvor man kan sende et nyhedsbrev ud til en mailing-liste. Dette virker sådan set helt fint, men der opstår et problem, hvis den tilmeldte email-adresse, eller rettere domænet, ikke eksisterer. Er dette tilfældet, fejler mit script ved den forkerte adresse og resten af mine email-adresser modtager ikke nyhedsbrevet. Herefter jeg er nødsaget til at slettte den fejlede adresse og sende nyhedsbrevet én gang til. kikset!
Derfor: Findes der en nem måde at tjekke om domænet eksisterer, inden email'en sendes?
Håber I kan hjælpe, da dette lille problem faktisk er et stort problem!
Du kan jo få den til at slette selv, hvis den fejler:
while EtEllerAndet on error resume next '<-- Start fejlbehandling err.clear '<-- nuldstil hvis loopet fejlede tidligere ...Din kode.. if err.code <> 0 then 'Der skete en fejl if err.code = 1234 then '<-- Fang kun hvis den rigtige fejl conn.execute("delete from ...") end if end if on error goto 0 '<-- Reset fejlbehandling til standard wend
fennec-> on error resume next virker perfekt, men kan du evt. forklare dit eksempel? Hvad returnerer err.code? Hvorfor if err.code = 1234 og on error goto 0?
Alle fejl returnere en fejlkode, som bliver opsamlet af err.code. Hvis err.code er forskellig fra 0 er der sket en fejl. Fejlkoden kan være både positive og negative tal.
Du få her en specifik fejl, og den skal du have fundet ud af hvad nummer har, så du kan fange den. Det gør du helt enkelt ved at køre scriptet så du ved det fejler også udskrive err.code til skærmen. Dit mailscrip kan jo generere andre fejl (hvis mailserveren f.eks er nede) og derfor skal du kun slette fra databasen, hvis du får den specifikke fejl. Erstat derfor 1234 med den rigtige fejlkode. Jeg ved jo ikke hvilken fejlkode du får, hvorfor jeg bare skrev 1234.
Du kan desuden også bruge err.Description til at få fejlteksten, så du kan skrive den ud også.
I det rigtige VB sprog kunne man definere hvilken linje man skulle hoppe til hvis der skete en fejl, men det er ikke med i VBScript (ASP). I ASP har vi kun de to kald "on error goto next" og "on error goto 0". Den første starter fejlbehandling og den sidste sætter den tilbage til standard (stop ved fejl)
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.