Стандартные классы исключений
Стандартные классы исключений
Все классы исключений являются потомками класса System.Exception, включающего следующий интерфейс:
type
Exception = class
public
constructor Create;
constructor Create(message: string);
property Message: string; // только на чтение
property StackTrace: 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 - файл не найден.