Ibland får jag inga felmeddelanden i IIS 5.1, trots att jag skrivit fel i koden och att jag får felmeddelanden om jag testar scriptet på en annan server.
Skriver jag avsiktligt fel på Split() så får jag detta felmeddelande på en annan server:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'splitt'
/test/Default.asp, line 18
På min lokala server får jag inget felmeddelande, däremot försvinner bitar av HTML-koden.
Glömmer jag avsiktligt %> på min lokala server så skriver den däremot ut felmeddelande.
Jag skulle vilja konfigurera min IIS så att den alltid visar alla felmeddelanden. Jag kör alltså IIS 5.1 på Win XP Pro SP2.
Lokalt så försvinner bitar av HTML-koden (den del som är efter sista avslutande asp-taggen) och så blir sidan vit. Detta när jag t.ex. har en funktion jag lägger in som det är fel på eller om funktionen inte ens finns. På en annan server så får jag felmeddelandet
Microsoft VBScript runtime error '800a01f4'
Variable is undefined: 'setLng'
/test/proc.asp, line 51
Ett annat exempel är att om jag anger option explicit och glömmer deklarera någon variabel så blir sidan lokalt vit och delar av HTML-koden saknas. På en annan server får jag felmeddelandet
Ett annat exempel är att om jag anger option explicit och glömmer deklarera någon variabel så blir sidan lokalt vit och delar av HTML-koden saknas.
Nu gissar jag här, men sådär kan det ju bli ifall t.ex. ASP-scriptet avbryter HTML-koden på ett känsligt ställe, som t.ex. mitt i en <SELECT> eller något liknande. Då renderas liksom inte resten av sidan i webbläsaren, och felmeddelandet syns inte, eftersom brusaren tror att det är HTML-källkod, vilket då gör att du måste välj "Visa källa.." för att se felmeddelandet från ASP/VBScript.
I annat fall, vilka delar av HTML-koden saknas? Ett fel är ett fel, och om den nu hoppar över exekveringen av vissa segment på grund av det, så känns det som om du har en On Error Resume Next någonstans.
Har du testat en helt tom fil (.asp) i, med t.ex;
<%
Err.Raise 1, "sidan.asp", "Detta är ett test!" %>
Det här är jättekonstigt, för nu får jag alltid fram felmeddelanden när det är något tokigt med min kod. Jag hade inte On Error Resume Next någonstans och jag får ett error av feltyp 0x800A0001. Lägger jag in raden On Error Resume Next före din kod, OveRRidE, får jag fram en totalt blank ruta. När jag hade problemet med att felkoder inte visades så kunde jag inte heller se felkoden om jag valde visa källa.
Så.. nu fungerar det alltså. Jag kom på att jag avinstallerade .NET framework, avinstallerade IIS, installerade IIS igen - i den ordningen. Tack för hjälpen! :bire
265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e