Member 13545345 Ответов: 1

Определите метод типа tryparse с помощью trycatchthrow


Вопрос в том что вы хотите чтобы я определил метод как tryparse вот так

private bool TryParse(строковое значение,out bool и т. д)
{
пробовать
{
инт.Синтаксический анализ(значения);

}
catch (исключение)
{
бросать;
}

Что я уже пробовал:

private bool TryParse(строковое значение,out bool и т. д)
{
пробовать
{
инт.Синтаксический анализ(значения);
и т. д. = верно;
вернуть true;
}
catch (исключение)
{и т. д. = ложь;
возвращать false;
бросать;
}

1 Ответов

Рейтинг:
5

F-ES Sitecore

Если вы хотите, чтобы ваш код действовал как методы .net TryParse, то не "выбрасывайте" исключение.

private bool TryParse(string value,out bool etc)
{
    try
    {
        int.Parse(value);
        etc = true;
        return true;
    }
    catch (Exception)
    {etc = false;
    return = false;
}


Однако ваш код на самом деле просто проверяет, можно ли преобразовать строковое значение в int. Если бы я был вам я бы использовать .чистый способ

private bool TryParse(string value,out bool etc)
{
    int x = 0;
    return int.TryParse(value, out x);
}


Несмотря на свое название, методы .net "TryParse" не используют блоки try\catch внутренне, поскольку создание исключений обходится дорого, их цель состоит в том, чтобы разумно анализировать текст, чтобы исключение не нужно было вызывать.