Laden...

Exceptions in Webservices mit Javascript anzeigen

Erstellt von ahiram vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.195 Views
A
ahiram Themenstarter:in
41 Beiträge seit 2008
vor 14 Jahren
Exceptions in Webservices mit Javascript anzeigen

Hallo

Nach mehrmaligen Suchen hier im Forum, fand ich keine Lösung zu meinem Problem. Ich habe ein WebForm, dass Daten über ein WebService erhält.

Im WebService werfe ich u. U. eine Exception:

....
throw new Exception("falsche Eingabe");
....

In Javascript rufe ich dann den WebService auf:

webService.GetData(txtParameter.value, onCompleteGetData, OnError, OnTimeOut);

Wird die Exception erzeugt, wird auch das OnError Event ausgeführt:

 function OnError(error) {
        
            alert("Stack Trace: " + error.get_stackTrace() + "/r/n" +
                  "Error: " + error.get_message() + "/r/n" +
                  "Status Code: " + error.get_statusCode() + "/r/n" +
                  "Exception Type: " + error.get_exceptionType() + "/r/n");
  }

Soweit klappt das auch, sobald ich jedoch in der web.config File customErrors aktiviere:


 <customErrors mode="On" .....

Erhalte ich meinen Exception text nicht mehr.

Was muss ich tun, damit auch in Javascript der Text "falsche Eingabe" übergeben wird?

2.891 Beiträge seit 2004
vor 14 Jahren

Hallo ahiram,

Soweit klappt das auch, sobald ich jedoch in der web.config File customErrors aktiviere: [...] Erhalte ich meinen Exception text nicht mehr.
Was muss ich tun, damit auch in Javascript der Text "falsche Eingabe" übergeben wird?

Du musst es auf "off" lassen. Wenn du dir die Doku zum <customErrors>-Element anguckst, wirst du sehen, dass "on" bewirkt, dass "Alle Aufrufer [...] gefilterte Ausnahmeinformationen [erhalten]." Deine spezifische Exception wird also geschluckt, stattdessen bekommt man eine Allgemeine. Du musst also "off" einstellen, damit du die vollständige Ausnahmeinformationen erhälst.

Gruß,
dN!3L

A
ahiram Themenstarter:in
41 Beiträge seit 2008
vor 14 Jahren

Gibt es da keine Möglichkeit zu differenzieren, zwischen selber erzeugten Exceptions oder eigenen Exception Klassen?

Wenn es ein Bug ist, soll die ErrorPage aufgerufen werden, ansonsten wird das Exception Handling selber durchgeführt.

691 Beiträge seit 2007
vor 14 Jahren

Wenn du die customErrors auf off setzt, dann werden alle führen alle nicht gefangenen Fehler zu Anzeigen des Fehlers.
Setzt du customErrors auf on, dann wirst du bei allen nicht gefangenen Fehlern auf die Errorpage umgeleitet.

Gibt es da keine Möglichkeit zu differenzieren, zwischen selber erzeugten Exceptions oder eigenen Exception Klassen?

Du musst dann dafür sorgen, das alle Exceptions, die du differenziert behandeln willst, gefangen werden.

mit freundlichen Grüßen,
Tomot

Projekte: www.gesellschaftsspieler-gesucht.de

2.891 Beiträge seit 2004
vor 14 Jahren

Hallo ahiram,

Gibt es da keine Möglichkeit zu differenzieren, zwischen selber erzeugten Exceptions oder eigenen Exception Klassen?
Wenn es ein Bug ist, soll die ErrorPage aufgerufen werden, ansonsten wird das Exception Handling selber durchgeführt.

und wie stellst du dir diese Differenzierung vor? Also wie erkennt man, dass es ein Bug ist oder nicht? Und was ist für dich der Unterschied zwischen "selbst erzeugten Exceptions" und "eigenen Exceptionklassen"?

Gruß,
dN!3L

A
ahiram Themenstarter:in
41 Beiträge seit 2008
vor 14 Jahren

Hallo ahiram,

Gibt es da keine Möglichkeit zu differenzieren, zwischen selber erzeugten Exceptions oder eigenen Exception Klassen?
Wenn es ein Bug ist, soll die ErrorPage aufgerufen werden, ansonsten wird das Exception Handling selber durchgeführt.
und wie stellst du dir diese Differenzierung vor? Also wie erkennt man, dass es ein Bug ist oder nicht? Und was ist für dich der Unterschied zwischen "selbst erzeugten Exceptions" und "eigenen Exceptionklassen"?

Gruß,
dN!3L Hab mich falsch ausgedrückt.

Es geht mit darum eigene Exceptions wie,

throw MyException (" selber ausgelöst ");

von den Exceptions wie Division durch 0 etc. zu unterscheiden.

@Tomot
Ich möchte, dass meine Exceptions, die mein Webservice wirft, in Javascript angezeigt werden. Aber der Text der Message erreicht die Javascript funktion nicht.

R
119 Beiträge seit 2008
vor 14 Jahren

Nochmal die Frage, wie soll die Runtime-Umgebung erkennen ob eine Exception von dir erzeugt oder ob sie durch einen Programmierfehler verursacht wurde?

in der Global.asax bekommst du "kurz" vor der "rückmeldung" nochmal die möglichkeit, die geworfene Exception zu "behandeln" bzw zu filtern. Das ist aber