#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

void ucalc_call RaiseErrorCallback(uCalcBase::Callback cb) {
   if (cb.Arg(1) == 123) {
      cb.Error().Raise(ErrorCode::Unrecognized_Command);
   }
   cb.Return(cb.Arg(1));
}
int main() {
   uCalc uc;

   uc.DefineFunction("ErrRaiseTest(Value)", RaiseErrorCallback);
   cout << uc.EvalStr("ErrRaiseTest(111)") << endl;
   cout << uc.EvalStr("ErrRaiseTest(123)") << endl; // The callback arbitrarily raises an error for 123
}