Опитайте улов (справка за C #)

Въпреки, че клаузата за улов може да бъде използвана без аргументи, за да прихване всеки вид изключване, този подход не се препоръчва. Като цяло, трябва да се хване само тези изключения, са известни на отстраняване на причините. Затова винаги трябва да зададете аргумент обект, получен от Изключение. Например:

За повече информация относно изключенията, вижте прихващането. Вижте опитайте улов-накрая.

Изключения в асинхронни методи

Асинхронен метод маркирани модификатор асинхронен и обикновено включва един или повече изрази или очакват оператори. очаквания израз се прилага чакане оператор към Задача или задачите. Очакваме израз не може да се случи в улова или накрая блокира единица.

Когато контролните достигне очакват метод асинхронен, прилагането на метода е спряна, докато очакваната задача е завършена. Ако задачата е завършена, изпълнението може да се възобнови в метода. За повече информация, вижте. Секции за асинхронно програмиране с помощта на ключови думи в асинхронен и изчакват (C # и Visual Basic) и потока на контрол в индукционни програми (C # и Visual Basic).

Завършен задача да изчакат, които могат да бъдат приложени в щата недостатъчност се дължи на необработено изключение на метода, който се връща на задачата. В очакване задача хвърля изключение. Задачата може също така да извършите търсене в отменената държавата, ако асинхронен процес, който се връща отменя. Изчаква се анулира задача е OperationCanceledException. За повече информация относно това как да се откажете асинхронен процес, вижте. Как да конфигурирате асинхронни приложения (C # и Visual Basic).

Засичане изключения чакат задача пробвам блок и изключения за улов в съответния блок улов. Пример см. В "пример".

А може да бъде изпълнена в провалена държава, както и няколко изключения в метода да чакат асинхронен. Например, задачата може да бъде резултат от обажда метод Task.WhenAll. Ако очаквате подобна задача е хванат само едно от изключенията, както и че е невъзможно да се предскаже, изключение ще бъде хванат. Пример см. В "пример".

Следващият пример съдържа блок адрес опитам да метод ProcessString. което може да предизвика изключение. Клаузата за улов съдържа изключение манипулатор, които просто показва съобщение. Ако изявление хвърлей се нарича от MyMethod на метод. системата търси оператор на улова и показва Exception на съобщение хванат.