2013-07-15 3 views
0

J'ai ce code:Exception Priorité des prises d'essai C#

try { 
     var bookingResult = externalService.Confirm(masterLocator, itemLocator); 
    } 
catch (AvailabilityException) 
{ 
     ConfirmingService.SaveErrorType(itemLocator.Id,(int)ErrorType.Availability); 
     throw; 
} 
catch 
{ 
     ConfirmingService.MarkItem(confirmation.Id); 
     throw; 
} 

Lorsque j'exécute le programme, je sais que l'exception est une exception disponibilité parce que je forcé le service de me donner l'exception de la disponibilité, mais toujours entre dans la capture vide.

Qu'est-ce que je fais mal? ou Pourquoi entrer toujours dans la capture vide?

+6

Parce que ce n'est pas une AvailailtyException? –

+0

Que voulez-vous dire par "en changement toujours entrer"? Votre question est très floue. –

+7

Pour aider au débogage, n'utilisez pas le catch vide, utilisez 'catch (Exception ex)' à la place. Vous pouvez ensuite placer un point d'arrêt dans le bloc catch et voir le type d'exception. – nicholas

Répondre

0

Le problème était que le service m'a envoyé deux différentes AvailabilityException.

Maintenant, j'attrape les différentes AvailabilityException.

Très utile vos commentaires