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 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
#include
#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 #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 }
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 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