Стандартные классы исключений
Все классы исключений являются потомками класса System.Exception
,
включающего следующий интерфейс:
type Exception = class
public
constructor Create;
constructor Create(message: string);
property Message: string; // только на чтение
propertyStackTrace
: string; // только на чтение
end;
Свойство Message
возвращает сообщение, связанное с объектом исключения.
Свойство StackTrace
возвращает стек вызовов подпрограмм на момент генерации исключения.
Ниже приводятся некоторые классы исключений, определенные в пространстве имен System
и
являющиеся производными от класса System.SystemException
:
System.OutOfMemoryException
- недостаточно памяти для выполнения программы;System.StackOverflowException
- переполнение стека (как правило, при многократных вложенных вызовах подпрограмм);
System.AccessViolationException
- попытка доступа к защищенной памяти;System.ArgumentException
- неверное значение параметра подпрограммы;
System.ArithmeticException
- базовый класс всех арифметических исключений. Наследники:
System.DivideByZeroException
- целочисленное деление на 0;
System.OverflowException
- переполнение при выполнении арифметической операции или преобразования типов;
System.FormatException
- неверный формат параметра (например, при преобразовании строки в число);
System.IndexOutOfRangeException
- выход за границы диапазона изменения индекса массива;System.InvalidCastException
- неверное приведение типов;System.NullReferenceException
- попытка вызвать метод для нулевого объекта или разыменовать нулевой указатель;System.IO.IOException
- ошибка ввода-вывода. Наследники:
System.IO.IOException.DirectoryNotFoundException
- каталог не найден;
System.IO.IOException.
EndOfStreamException
- попытка чтения за концом потока;
System.IO.IOException.
FileNotFoundException
- файл не найден.