public static SimpleFraction GetDifference(SimpleFraction fraction1, SimpleFraction fraction2)
 {
     try
     {
         var temp = new SimpleFraction(-fraction2.Numerator, fraction2.Denominator);
         return(SimpleFraction.GetSum(fraction1, temp));
     }
     catch (Exception)
     {
         throw;
     }
 }
 public static SimpleFraction GetQuotient(SimpleFraction fraction1, SimpleFraction fraction2)
 {
     try
     {
         var temp = new SimpleFraction(fraction2.Denominator, fraction2.Numerator);
         return(SimpleFraction.GetComposition(fraction1, temp));
     }
     catch (DivideByZeroException)
     {
         throw new DivideByZeroException("Попытка поделить на дробь с нулевым знаменателем!!!");
     }
     catch (Exception)
     {
         throw;
     }
 }
 public static SimpleFraction GetComposition(SimpleFraction fraction1, SimpleFraction fraction2)
 {
     try
     {
         SimpleFraction result;
         var            temp1 = new SimpleFraction(fraction1.Numerator, fraction2.Denominator);
         var            temp2 = new SimpleFraction(fraction2.Numerator, fraction1.Denominator);
         result = new SimpleFraction(temp1.Numerator * temp2.Numerator, temp1.Denominator * temp2.Denominator);
         return(result);
     }
     catch (ArgumentOutOfRangeException)
     {
         throw new ArgumentOutOfRangeException("Числитель и/или знаменатель выходит за границы диапазона для целых чисел!!!");
     }
     catch (ArithmeticException)
     {
         throw;
     }
     catch (Exception)
     {
         throw new Exception("Произошла какая-то ошибка!!!");
     }
 }