TGViewer
Библиотека шарписта | C#, F#, .NET, ASP.NET Библиотека шарписта | C#, F#, .NET, ASP.NET @csharpproglib · 21.7K subscribers
Post #7195 2.92K
📍 Почему TryParse() лучше, чем Parse() внутри try/catch

Невалидный пользовательский ввод — ожидаемый сценарий, а не авария. Такой код работает, но использует исключения для обычной проверки:


try
{
var age = int.Parse(input);
SaveAge(age);
}
catch
{
ShowError();
}


🔜 Намерение понятнее выразить через TryParse():


if (int.TryParse(input, out var age))
{
SaveAge(age);
}
else
{
ShowError();
}


TryParse() сразу показывает: преобразование может не удаться, и этот результат предусмотрен логикой программы. Используйте его для форм, query-параметров, настроек, файлов и других внешних данных.

📌 Ожидаемая ошибка — явная проверка. Исключение — действительно исключительная ситуация.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#sharp_view
  • 🥱 10
  • ❤ 4
More from @csharpproglib
  1. Sep 21, 2026⚙️ Настоящие атомарные операции Если Volatile решает проблему видимости, то Interlocked ре…
  2. Sep 20, 2026💪 Разминка перед трудовыми буднями Что произойдёт? ❤️ — список станет [1, 3] 🔥 — Invalid…
  3. Sep 19, 2026🧩 Middleware в ASP.NET Core: 3 ловушки Middleware — звено HTTP pipeline: app.Use(async (c…
  4. Sep 18, 2026📍 Навигация: Вакансии • Задачи • Собесы 🐸Библиотека шарписта #garbage_collector
  5. Sep 17, 2026🦆 Duck typing в C# — почти как в TypeScript В TypeScript достаточно, чтобы у объекта был…
  6. Sep 17, 2026🧠 Почему .NET-под съедает всю память? kubectl top pod показывает 1 ГБ, а managed heap зан…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →