/// <summary>
 /// Constructor with a specific message.
 /// </summary>
 /// <param name="pattern">Message pattern providing the specific context of the error.</param>
 /// <param name="args">Arguments.</param>
 public MathArithmeticException(ILocalizable pattern, params object[] args)
 {
     context = new ExceptionContext(this);
     context.AddMessage(pattern, args);
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 public MathArithmeticException()
 {
     context = new ExceptionContext(this);
     context.AddMessage(LocalizedFormats.ARITHMETIC_EXCEPTION);
 }
 /// <summary>
 /// Simple constructor.
 /// </summary>
 /// <param name="pattern">Message pattern providing the specific context of the error.</param>
 /// <param name="args">Arguments</param>
 public MathUnsupportedOperationException(ILocalizable pattern, params object[] args)
 {
     this.context = new ExceptionContext(this);
     this.context.AddMessage(pattern, args);
 }
 /// <summary>
 /// Constructor that add a message.
 /// </summary>
 /// <param name="pattern">Message pattern explaining the cause of the error.</param>
 /// <param name="args">Arguments.</param>
 public MathIllegalArgumentException(ILocalizable pattern, params object[] args)
 {
     context = new ExceptionContext(this);
     context.AddMessage(pattern, args);
 }
 /// <summary>
 /// Simple constructor.
 /// </summary>
 /// <param name="inner">The root cause.</param>
 /// <param name="pattern">Message pattern explaining the cause of the error.</param>
 /// <param name="args">Arguments.</param>
 public MathIllegalStateException(Exception inner, ILocalizable pattern, params object[] args):
     base("", inner)
 {
     context = new ExceptionContext(this);
     context.AddMessage(pattern, args);
 }