Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
967 of 1492 menu
◀ ▶

OutOfMemoryException

Класс OutOfMemoryException бросает CLR, когда выделить блок памяти не получается. Ловить его и продолжать работу обычно бесполезно. В примерах не вызывают настоящий OOM - демонстрируют throw new OutOfMemoryException() и вывод "fail" в catch.

Синтаксис

throw new OutOfMemoryException(); catch (OutOfMemoryException) { }

Пример

Давайте поймать OutOfMemoryException:

using System; class Program { static void Main() { try { throw new OutOfMemoryException(); } catch (OutOfMemoryException) { Console.WriteLine("fail"); } } }

Результат выполнения кода:

"fail"

Пример

Давайте вывести имя типа:

using System; class Program { static void Main() { try { throw new OutOfMemoryException(); } catch (OutOfMemoryException ex) { Console.WriteLine(ex.GetType().Name); } } }

Результат выполнения кода:

"OutOfMemoryException"

Пример

Давайте перехватить его как Exception:

using System; class Program { static void Main() { try { throw new OutOfMemoryException(); } catch (Exception ex) { Console.WriteLine(ex is OutOfMemoryException); } } }

Результат выполнения кода:

True

Смотрите также

  • исключение StackOverflowException,
    которое тоже связано с ресурсами среды
  • класс Exception,
    от которого наследует OutOfMemoryException
  • исключение IOException,
    которое возникает при работе с файлами
  • исключение UnauthorizedAccessException,
    которое перехватывают отдельной веткой
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить