FormatException
Исключение FormatException возникает при
разборе строки, если символы не образуют
допустимое значение. Так работает
int.Parse
для "abcde". Метод
TryParse
вместо исключения возвращает false.
Сбой перехватывают через try и catch.
Синтаксис
try
{
int num = int.Parse("abcde");
}
catch (FormatException)
{
// строка не число
}
Пример
Давайте поймаем FormatException от
int.Parse:
using System;
class Program
{
static void Main()
{
try
{
int.Parse("abcde");
}
catch (FormatException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Пример
Давайте выведем Message пойманного
исключения:
using System;
class Program
{
static void Main()
{
try
{
int.Parse("abcde");
}
catch (FormatException ex)
{
Console.WriteLine(ex.Message.Length > 0);
}
}
}
Результат выполнения кода:
True
Пример
Давайте сравним с TryParse без
исключения:
using System;
class Program
{
static void Main()
{
bool ok = int.TryParse("abcde", out int res);
Console.WriteLine(ok);
}
}
Результат выполнения кода:
False
Смотрите также
-
OverflowException,
когда число не помещается в тип -
ArithmeticException,
базовый класс арифметических сбоев -
метод
Parse,
который бросаетFormatException -
метод
TryParse,
который обходится без исключения