2016-02-11 1 views
0

J'ai un problème concernant la tentative de capture lors de la création d'un objet en C#.Traitement des échecs de l'objet Webservice

Mon problème apparaît lorsqu'un objet est supposé être créé et que le service Web qui définit l'objet n'est pas disponible ou a été modifié. C'est le problème que j'aimerais que mon programme gère.

Lorsque je tente de le faire:

try 
{ 
    var Customer = new Customer(); 
} 
catch 
{ 
     //handling the exception. 
} 

Plus tard dans mon programme, je besoin de cet objet particulier, mais en raison de l'essayer attraper l'objet ne sont pas disponibles dans tous les cas (bien sûr lorsque l'essai échoue, l'objet n'est pas créé).

sans si (client = null!)

if (insertCustomer(lead, LS_TS, out Customer) == true) 
{ 
    insert = true; 
} 

avec si

if(customer != null) 
{ 
    if (insertCustomer(lead, LS_TS, out Customer) == true) 
    { 
     insert = true; 
    } 
} 

Peu importe, le compilateur dit (client! = Null): « Le nom 'Client' n'existe pas dans le contexte actuel

Comment résoudre ce problème? J'ai besoin d'un programme en cours d'exécution tout le temps et lors de la vérification d'un objet qui n'est pas créé, je dois quitter la méthode et réessayer plus tard.

Merci à l'avance

+1

_ "alors je dois quitter la méthode "_ -' return; " – CodeCaster

+0

Non, ce n'est pas mon problème. try { var Client = nouveau client(); } capture { // gestion de l'exception. } customer.Name = 'nom du client'; compilateur dit: « Le nom « client »n'existe pas dans le contexte actuel –

+0

' '' out Customer''' essayer cette minuscule, comme '' 'out customer''' – Meneses

Répondre

1

Vous pouvez simplement faire ceci:

Customer customer = null; 

try 
{ 
    customer = new Customer(); 
} 
catch 
{ 
    // handling the exception. 
} 

et chaque fois que vous devez utiliser le client de l'objet que vous devriez faire

if(customer != null) 
{ 
    // do stuff 
} 
+0

Comme je le vois, votre réponse ne fonctionne que sans le try catch Le compilateur n'accepte pas l'utilisation de l'objet client d'autres endroits que le try {xxx} –

+1

C'est très bizarre Quelle est l'erreur que le compilateur vous donne? – Meneses

+0

Je mets plus de code dans l'affichage initial S'il vous plaît jeter un oeil là-bas. –