Класс System.Exception

Класс System.Exception является базовым для всех классов исключительных ситуаций. Данный класс имеет следующие, общие для всех исключений свойства:

Значения этих свойств могут быть заданы при создании объекта исключительной ситуации путем передачи соответствующих значений конструктору.

Пример

Imports System;
Imports System.Diagnostics;

Public Class UserClass
    Public Function Test(a, b: integer): integer;
    Begin
        If a > b Then
            Raise New System.Exception("Параметр A должен быть меньше параметра B",
                New System.ArgumentException("Недопустимые значения параметров""A"));
        Else
            Return a + b;
        End If;
    End Function Test;
End Class UserClass;

Public Class TestUserClass

    Public Shared Sub Main();
    Var
        Obj: UserClass = New UserClass();
        InnEx: System.Exception;
        Res: integer;
    Begin
        Try
            Res := Obj.Test(21);
        Except On Ex: System.Exception Do
        Begin
            InnEx := Ex.InnerException;
            Debug.WriteLine(Ex.Message);
            Debug.WriteLine(InnEx.Message);
            Debug.WriteLine((InnEx As System.ArgumentException).ParamName);
        End;
        End Try;
    End Sub;

End Class;

В пользовательской функции Test осуществляется проверка значений передаваемых параметров. Если значение параметра «А» больше параметра «B», то функция генерирует исключительную ситуацию. При генерации исключительной ситуации также генерируется связанная ошибка. Для обработки исключительных ситуаций в процедуре Main используется оператор Try. При выполнении метода «Test» будет сгенерирована исключительная ситуация. Информация об исходной и связанной ошибках будет выведена в консоль среды разработки.

См. также:

Исключительные ситуации