public CalculationResult Multiply(decimal left, decimal right) { try { var result = left * right; return(CalculationResult.Successful(result)); } catch (OverflowException) { return(CalculationResult.Failed(CalculationResultReason.ArithmeticOverflow)); } }
public CalculationResult Divide(decimal left, decimal right) { if (right == 0m) { return(CalculationResult.Failed(CalculationResultReason.DivideByZero)); } try { var result = left / right; return(CalculationResult.Successful(result)); } catch (OverflowException) { return(CalculationResult.Failed(CalculationResultReason.ArithmeticOverflow)); } }