Încercați-catch (referință pentru c #)

Deși clauza de captură poate fi utilizat fără argumente pentru a intercepta orice tip de excludere, nu este recomandată această abordare. În general, ar trebui să prinde doar acele excepții, eliminarea cauzelor sunt cunoscute. Prin urmare, ar trebui să setați întotdeauna obiectul argumentul derivat din excepție. De exemplu:

Pentru mai multe informații despre excepții, vezi interceptarea. A se vedea try-catch-în cele din urmă.

Excepții în Asynchronous Metode

Metoda asincronă marcat modificator asin și include în mod tipic una sau mai multe expresii sau operatori așteaptă. Expresia așteptări se aplică operatorului așteptați Task sau sarcină. Expresia nu se poate aștepta să apară în captură sau în cele din urmă bloc unitate.

Când ajunge de control așteaptă o metodă asincronă, punerea în aplicare a metodei este oprit, atâta timp cât sarcina așteptată este finalizată. În cazul în care sarcina este finalizată, executarea poate relua în metoda. Pentru mai multe informații, consultați. Secțiunile de programare asincronă folosind cuvinte cheie asincronă și așteaptă (C # și Visual Basic) și fluxul de control, în programele de inducție (C # și Visual Basic).

Finalizat sarcina să aștepte care pot fi aplicate în stare de eșec din cauza unei excepție netratată în metoda care returnează sarcina. Așteptare sarcină aruncă o excepție. Sarcina poate efectua, de asemenea, o căutare în statul anulat, în cazul în care un proces asincron că returnează anulează. Se așteaptă o sarcină este anulat OperationCanceledException. Pentru mai multe informații despre modul de a anula un proces asincron, a se vedea. Cum se configurează aplicațiile asincrone (C # și Visual Basic).

excepțiile de intercepție, așteptați bloc try sarcină și excepțiile de captură în blocul de captură corespunzător. EXEMPLU cm. In "exemplu".

O sarcină poate fi într-un stat eșuat, astfel cum sunt câteva excepții în metoda să aștepte pentru asincronă. De exemplu, sarcina poate fi rezultatul metodei de asteptare Task.WhenAll. Dacă vă așteptați o astfel de sarcină este prinsă doar una dintre excepțiile, și este imposibil de prezis, excepția va fi prins. EXEMPLU cm. In "exemplu".

Următorul exemplu conține o adresă de bloc try la metoda ProcessString. care poate provoca o excepție. Clauza de captură conține o excepție de tratare, care pur și simplu afișează un mesaj. În cazul în care o declarație aruncare este numit de la mymethod metoda. sistemul caută operatorul de captură și afișează mesajul de excepție prins.