Throw ()

macro Throw (_exception : Exception)

Бросает исключение _exception. Вызывает функцию RunError передавая в качестве параметров текст исключения и объект исключения. Также желательно выходить из функции после Throw например так return Throw(IllegalStateException()).

+

copy sample
// Пример функции возведения Integer в квадрат
Macro mysqr(p)
   if (ValType(p) != V_INTEGER)
      Throw(IllegalArgumentException("Не верный тип " + p));
      return; // Обязательно выходим из процедуры
   end;
   return p * p;
End;

var a = mysqr(5);     // ok
var b = mysqr(null);  // Error
import "..\\mac\\extra\\OOP\\Exceptions.mac";
// Пример функции возведения Integer в квадрат
Macro mysqr(p)
   if (ValType(p) != V_INTEGER)
      Throw(IllegalArgumentException("Не верный тип " + p));
      return; // Обязательно выходим из процедуры
   end;
   return p * p;
End;

var a = mysqr(5);     // ok
var b = mysqr(null);  // Error