Junior
Тартиби try-catch дар C# чист?
sobes.tech AI
Ҷавоб аз AI
Структура try-catch дар C# истифода мешавад барои идоракунии истисноҳо. Блоки try кодро дар бар мегирад, ки эҳтимолан метавонад истисноро ба вуҷуд орад. Агар истисно рух диҳад, иҷрои ба блоки catch мегузарад, ки дар он истисно гирифта ва идора карда мешавад.
try
{
// Код, ки метавонад истисноро ба вуҷуд орад
int result = 10 / int.Parse("0"); // Ҳамчун DivideByZeroException
}
catch (DivideByZeroException ex)
{
// Идоракунии истиснои махсуси DivideByZeroException
Console.WriteLine("Хатои тақсим кардан ба нул: " + ex.Message);
}
catch (FormatException ex)
{
// Идоракунии истиснои махсуси FormatException
Console.WriteLine("Хатои формати: " + ex.Message);
}
catch (Exception ex)
{
// Идоракунии ҳар гуна истиснои дигар
Console.WriteLine("Хатогии умумӣ: " + ex.Message);
}
finally
{
// Ин блок ҳамеша иҷро мешавад, новобаста аз он, ки истисно рух дода бошад ё на.
// Барои озод кардани захираҳо истифода мешавад.
Console.WriteLine("Блокуи finally иҷро шуд.");
}
- Блокуи
try: Кодро дар бар мегирад, ки дар он метавонад истисно рух диҳад. - Блокуи
catch: Истисноро мегирад. Мумкин аст, ки чандин блокиcatchбарои намудҳои гуногуни истисноҳо дошта бошанд. Блокуиcatch (Exception ex)ҳамаи намудҳои истисноҳоро мегирад. - Блокуи
finally: Ин як блоки интихобӣ аст, ки ҳамеша иҷро мешавад, новобаста аз он, ки истисно рехта ё на.
Истифодаи try-catch имкон медиҳад, ки хатоҳои нодида гирифташударо бо услуби оддӣ идора кардан, аз қатъ шудани барнома пешгирӣ кардан ва паёмҳои хатоии бештар иттилоотӣ ба корбар пешниҳод кардан.