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

using namespace std;
using namespace uCalcSoftware;

void ucalc_call LogAndResume(Handle_uCalc h) {
   auto uc = uCalc(h);
   cout << "Logged error: " << uc.Error().Message() << endl;
   uc.Error().Response(ErrorHandlerResponse::Resume);
}

int main() {
   uCalc uc;
   uc.Error().TrapOnDivideByZero(true);
   uc.Error().AddHandler(LogAndResume);

   cout << "Start" << endl;
   auto Result = uc.Eval("5/0");   // Division by zero
   cout << "End" << endl;
}