Raising an error in a callback with ErrorRaise

ID: 37

				
					using uCalcSoftware;

var uc = new uCalc();

static void RaiseErrorCallback(uCalc.Callback cb) {
   if (cb.Arg(1) == 123) {
      cb.Error.Raise(ErrorCode.Unrecognized_Command);
   }
   cb.Return(cb.Arg(1));
}


uc.DefineFunction("ErrRaiseTest(Value)", RaiseErrorCallback);
Console.WriteLine(uc.EvalStr("ErrRaiseTest(111)"));
Console.WriteLine(uc.EvalStr("ErrRaiseTest(123)")); // The callback arbitrarily raises an error for 123
				
			
111
Unrecognized command
				
					#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
}
				
			
111
Unrecognized command
				
					Imports System
Imports uCalcSoftware
Public Module Program
   
   Public Sub RaiseErrorCallback(ByVal cb As uCalc.Callback)
      If cb.Arg(1) = 123 Then
         cb.Error.Raise(ErrorCode.Unrecognized_Command)
      End If
      cb.Return(cb.Arg(1))
   End Sub
   Public Sub Main()
      Dim uc As New uCalc()
      
      uc.DefineFunction("ErrRaiseTest(Value)", AddressOf RaiseErrorCallback)
      Console.WriteLine(uc.EvalStr("ErrRaiseTest(111)"))
      Console.WriteLine(uc.EvalStr("ErrRaiseTest(123)")) '// The callback arbitrarily raises an error for 123
   End Sub
End Module
				
			
111
Unrecognized command