Метод ThrowIf
Статический ObjectDisposedException.ThrowIf
принимает bool condition и объект или
имя. Если condition равно true,
выбрасывается
ObjectDisposedException;
при false метод ничего не делает.
Обработку оформляют через
catch.
Синтаксис
ObjectDisposedException.ThrowIf(condition, instance);
ObjectDisposedException.ThrowIf(condition, objectName);
Пример
Давайте вызовем ThrowIf с ложным
условием и напечатаем "ok":
using System;
class Program
{
static void Main()
{
bool closed = false;
ObjectDisposedException.ThrowIf(closed, "Door");
Console.WriteLine("ok");
}
}
Результат выполнения кода:
"ok"
Пример
Давайте бросим исключение при истинном
условии и выведем ObjectName:
using System;
class Program
{
static void Main()
{
bool closed = true;
try
{
ObjectDisposedException.ThrowIf(closed, "Door");
}
catch (ObjectDisposedException ex)
{
Console.WriteLine(ex.ObjectName);
}
}
}
Результат выполнения кода:
"Door"
Пример
Давайте передадим экземпляр во второй перегрузке:
using System;
class Door { }
class Program
{
static void Main()
{
var door = new Door();
try
{
ObjectDisposedException.ThrowIf(true, door);
}
catch (ObjectDisposedException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Смотрите также
-
ObjectDisposedException,
которое создаётThrowIf -
InvalidOperationException,
когда объект жив, но операция запрещена -
блок
catch,
которым ловят сброс -
ArgumentOutOfRangeException,
у которого другие статические проверки