Avatar billede langthjem Nybegynder
23. november 2006 - 11:17 Der er 13 kommentarer og
1 løsning

FSO Catch Error?

Hej supermænd,

hvordan fanger jeg en permission fejl når jeg forsøger at slette en fil med FSO?
Jeg vil gerne undgå at eksekveringen stopper (bruger "On Error Resume Next"), jeg vil hellere fange fejlen og præsentere den på en pæn måde.
Avatar billede langthjem Nybegynder
23. november 2006 - 11:20 #1
Kan man fange samme fejl i f.eks. ASPUpload eller andet?
Avatar billede madeindk Nybegynder
23. november 2006 - 12:13 #2
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
       
strSource = Server.Mappath("/data/") & "\" & "filnavn.jpg"

' Sletter kun hvis filen eksisterer
If FSO.FileExists(strSource) Then
  FSO.DeleteFile(strSource)
  Response.Write("Filen er slettet!")
Else
  Response.Write("Filen blev ikke fundet!")
End if
       
Set FSO = Nothing
Avatar billede eagleeye Praktikant
23. november 2006 - 12:13 #3
Det er faktisk den måde man fanger fejl.. Du kan tjekke på err objectet efter den linie der kan opstå en fejl eks.:

on error resume next

FSO.DeleteFile("xxx.yyy")

If Err.Number <> 0 then
  fejlTekst = "Filen xxx.yyy kunne ikke slettes"
  Error.Clear
End If

On Error GoTo 0




man kan bruge: On Error GoTo 0, til at ophæve On Error Resume next.
Avatar billede thesurfer Nybegynder
23. november 2006 - 12:13 #4
on error resume next

' slet fil
if err.number <> 0 then
' da fejlkoden ikke er lig 0, må der være opstået en fejl:

response.write "Der opstod en fejl:<br>"
response.write "Fejlkode: " & err.number & ", beskrivelse: " & err.description

end if
Avatar billede madeindk Nybegynder
23. november 2006 - 12:14 #5
Nååårh - læste forkert, permission denied - det ved jeg ikke - sorry!
Avatar billede thesurfer Nybegynder
23. november 2006 - 12:14 #6
madeindk> Hvad nu hvis du ikke har rettigheder til at slette filen..? :-)
Avatar billede langthjem Nybegynder
23. november 2006 - 12:14 #7
Det var ikke lige det jeg mente. Jeg mente at jeg ville sikre mig information hvis permissions på serveren ikke er sat korrekt, sådan at jeg fanger fejlen "Permission denied" ved sletning hvis sletningen mislykkes. Det kræver nemlig ikke specielle rettigheder at se om filen eksisterer.
Avatar billede thesurfer Nybegynder
23. november 2006 - 12:15 #8
Hehe.. nemlig..
Avatar billede langthjem Nybegynder
23. november 2006 - 12:31 #9
Jeg har forsøgt mig med "If Err.Number <> 0 Then", men problemet er at der tilsyneladende ikke bliver genereret en error code fra FSO! Det samme gælder forresten for ASPUpload.
Avatar billede thesurfer Nybegynder
23. november 2006 - 12:49 #10
err har ikke noget med FSO at gøre, men generelt..

Hvis der opstår en fejl, dvs, den crasher, sættes err.number til et eller andet..

Du kunne gøre sådan her:

slet(fil)
hvis fil eksisterer så
  udskriv "filen kan ikke slettes
slut hvis
Avatar billede langthjem Nybegynder
25. november 2006 - 20:24 #11
thesurfer du er genial... smid et svar, det er pointene værd!
Avatar billede thesurfer Nybegynder
27. november 2006 - 07:54 #12
langthjem> I know.. :-)
- Svar
Avatar billede langthjem Nybegynder
27. november 2006 - 09:30 #13
Det var jo ikke et svar!
Avatar billede thesurfer Nybegynder
27. november 2006 - 18:03 #14
Jeg mente ellers at jeg smed et svar.. der må have været nisser på eksperten.dk.. :-)
- Svar (nu har jeg helt sikkert markeret "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
Kurser inden for grundlæggende programmering

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