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 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");
#include
#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 #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; }
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 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