---
title: "Felhantering pressentera för anv"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/165685-felhantering-pressentera-för-anv"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "cok"
published: "2007-10-21T14:26:48.000Z"
updated: "2007-11-05T14:53:53.000Z"
replies: 7
views: 662
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/165685-felhantering-pressentera-för-anv"
---

# Felhantering pressentera för anv

## #1 — cok, 2007-10-21T14:26Z

Hallå,

Sitter och funderar på hur man snyggast kan pressentera att fel har uppstått för användaren.

Jag skulle helst av allt vilja att ett felmeddelande sätts överst på sidan och att resterande sida renderas ut som den var innan postback.

Jag har en basklass smo alla mina sidor ärver av och i denna testar jag att köra med:

```
protected override void OnError(EventArgs e)
{
    HttpContext ctx = HttpContext.Current;

    Exception exception = ctx.Server.GetLastError();

    string errorInfo = "FEL";

    ctx.Response.Write(errorInfo);
    ctx.Server.ClearError();

    base.OnError(e);
}
```

Detta resulterar i att "FEL" skrivs ut. Hur kan jag lösa så att resterande skrivs ut?

Permalänk: https://www.webforum.nu/p/165685

## #2 — Zaiman, 2007-10-21T16:08Z

Lite OT: Varför inte använda egna felsidor istället?

Permalänk: https://www.webforum.nu/p/2043387

## #3 — cok, 2007-10-21T17:17Z

Smaken är som baken, tror användaren i detta fallet hade kännt sig mer hemma med ett "felmeddelande" överst på sidan.

Permalänk: https://www.webforum.nu/p/2043406

## #4 — Gladh, 2007-10-21T18:11Z

> **cok skrev:**
>
> Detta resulterar i att "FEL" skrivs ut. Hur kan jag lösa så att resterande skrivs ut?

Det tror jag inte du kan, för när det kastas ett exception så avbryts exekveringskedjan och man börjar "rulla tillbaka stacken" för att se om du har en try-catch någonstans, och om du har det så förtsätter man exekveringskjedjan därifrån.

Så om du inte gör fångar felet och behandlar det själv, så kan du inte göra det du vill. Med andra ord, vill du göra så som du önskar, så kan du skippa OnError() metoden eftersom när den körs så kommer inte resterande del av sidan att exekveras.

Dessutom är det ett FET NO NO att använda sig av Response.Write i ASP.NET eftersom det, precis som du säger, kommer att skrivas ut överst på sidan, du kan alltså inte styra var du vill ha det.

För att åstakomma det du är ute efter så måste du fånga alla felen och skriva ut dessa till en label som du har överst på sidan, som givetviss är Hidden i vanliga fall. Och sedan fortsätta exekveringen efter det att du fångat felet. Det är dock inte en lösning som jag skulle rekomendera, eftersom du faktiskt inte vet om du kan fortsätta din exekvering av sidan, eftersom resterande exekvering kanske behöver din information som skulle skapas när ditt första exception kastades.

\- M

Permalänk: https://www.webforum.nu/p/2043458

## #5 — cok, 2007-10-22T06:41Z

Tack Gladh,

Jag testar att köra med en error sida som jag kan pressentera feltext och logga detta.

Permalänk: https://www.webforum.nu/p/2043538

## #6 — cok, 2007-11-05T14:50Z

Fortsätter i denna tråd..

När jag kör koden i debugläge så skickas användaren till olika felsidor.

Men när jag kör koden på produktionsserver med IIS så skickas man till felsida (syns i adressfältet). Men man får inte det inte snyggt pressenterat.

Säg att jag försöker surfa till en sida som inte finns, då kommer jag till min "Sidanfinnsinte"-sida. Där kommer ett fult felmedddelande ala .NET:

```
Server Error in '/' Application.
--------------------------------------------------------------------------------

The resource cannot be found. 
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /Error/Notfound.aspx
```

I min web.config har jag följande:

```
    <customErrors mode="On" defaultRedirect="Error/Error.aspx">
      <!--<error statusCode="500" redirect="/error/callsupport.htm"/>-->
      <error statusCode="404" redirect="/Error/Notfound.aspx"/>
     <!--<error statusCode="403" redirect="/error/noaccess.aspx"/>-->
    </customErrors>
```

Som sagt, i adressfältet står det att jag kommit till Notfound.aspx...

Permalänk: https://www.webforum.nu/p/2046552

## #7 — Zaiman, 2007-11-05T14:53Z

Och i katalogen Error har du lagt in sidan Notfound.aspx som du skapat för att presentera ett alternativ felmeddelande?

Permalänk: https://www.webforum.nu/p/2046553

## #8 — cok, 2007-11-05T14:53Z

Nevermind... såg att det var fel adress i adressfältet. Sorry!

Permalänk: https://www.webforum.nu/p/2046554

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/165685-felhantering-pressentera-för-anv
