Toon posts:

[ASP.net/C#] - Webservice exceptie niet gecatched

Pagina: 1
Acties:
  • 38 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik maak gebruik van een webservice, ik wil nu exception handling implementeren. Ik heb gezocht op msdn en vond dit artikel:

Link

Ik heb dit geimplementeerd, maar het werkt niet! De relevante code:

Webservice:

C#:
1
2
3
4
5
6
7
8
9
try 
{
    // code die sowieso fout gaat. Als ik een breakpoint op de catch zet, komt hij daar wel
}
catch
{
    ThrowSoapException.ThrowException(); // myThrow in het msdn artikel.
    //throw ExceptionWrapper.WrapException(e); 
}

Ik heb de code van msdn iets aangepast, ik heb van de methode myThrow de static methode ThrowException() gemaakt. Ik neem aan dat ik dit zo goed doe, aangezien in ThrowException een SoapException wordt gethrowd.

Clientside:

C#:
1
2
3
4
5
6
7
8
try 
{
    // webmethod die exceptie zou moeten throwen
}
catch (SoapException e)
{
    ShowMessage("Er is iets mis gegaan bij het updaten!");
}

Wat doe ik hier fout? Ik heb het letterlijk gekopieerd van msdn, maar ik denk dat ik het aanroepen van de methode die de exceptie throwt niet goed doe.

/Edit: via de search hier vond ik helemaal niets over excepties in webservices, vandaar dit topic ook.

[ Voor 5% gewijzigd door Verwijderd op 17-10-2005 10:02 ]


  • lier
  • Registratie: Januari 2004
  • Nu online

lier

MikroTik nerd

Bij wijze van debug zou je kunnen kijken of er wel een exception gegooid wordt, door alle Exceptions te vangen:

(catch Exception e)
{
DoeIets();
}

Dit dan natuurlijk clientside.

Eerst het probleem, dan de oplossing


Verwijderd

Topicstarter
lier schreef op maandag 17 oktober 2005 @ 10:10:
Bij wijze van debug zou je kunnen kijken of er wel een exception gegooid wordt, door alle Exceptions te vangen:

(catch Exception e)
{
DoeIets();
}

Dit dan natuurlijk clientside.
Huh waarom werkt dat wel :| Dacht dat ik dat al geprobeerd had 8)7

Hmms denk dat ik het al weet. De message wordt te lang, waardoor de message niet getoond wordt... :X

[ Voor 22% gewijzigd door Verwijderd op 17-10-2005 10:19 ]


  • party42
  • Registratie: Oktober 2000
  • Laatst online: 27-04 20:42
Je vangt met "catch Exception e" alle Exceptions af (dus op een hoger niveau). Het zou dus kunnen dat de exceptie die geraised wordt niet van het type is wat jij afvangt (namelijk de catch (SoapException e) ).

[ Voor 15% gewijzigd door party42 op 17-10-2005 10:23 ]

Everyday's an endless stream, of cigarettes and magazines...


  • whoami
  • Registratie: December 2000
  • Laatst online: 13:16
Dit is gewoon een gevalletje debugger gebruiken.

Gebruik breakpoints, kijk wat er gebeurt, gebruik watches om te zien van welk type de exceptie is, etc....
Ipv direct een topic te openen, kan je dus zelf al veel verder komen, als je maar eens die debugger goed gebruikt.

https://fgheysels.github.io/


Dit topic is gesloten.