Registers a handler to log when division by zero occurs.

ID: 258

				
					using uCalcSoftware;

var uc = new uCalc();

static void LogAndResume(Handle_uCalc h) {
   var uc = new uCalc(h);
   Console.WriteLine($"Logged error: {uc.Error.Message}");
   uc.Error.Response = ErrorHandlerResponse.Resume;
}


uc.Error.TrapOnDivideByZero = true;
uc.Error.AddHandler(LogAndResume);

Console.WriteLine("Start");
var Result = uc.Eval("5/0");   // Division by zero
Console.WriteLine("End");
				
			
Start
Logged error: Division by 0
End
				
					#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;
}
				
			
Start
Logged error: Division by 0
End
				
					Imports System
Imports uCalcSoftware
Public Module Program
   
   Public Sub LogAndResume(ByVal h As Handle_uCalc)
      Dim uc As New uCalc(h)
      Console.WriteLine($"Logged error: {uc.Error.Message}")
      uc.Error.Response = ErrorHandlerResponse.Resume
   End Sub
   
   Public Sub Main()
      Dim uc As New uCalc()
      uc.Error.TrapOnDivideByZero = true
      uc.Error.AddHandler(AddressOf LogAndResume)
      
      Console.WriteLine("Start")
      Dim Result = uc.Eval("5/0")   '// Division by zero
      Console.WriteLine("End")
   End Sub
End Module
				
			
Start
Logged error: Division by 0
End