Ошибки домена и диапазона используются при работе с математическими функциями.
С одной стороны, домен функции - это набор значений, которые могут быть приняты функцией. Например, домен функции квадратного квадрата представляет собой набор положительных действительных чисел. Следовательно, исключение domain_error
должно создаваться, если аргументы функции не содержатся в ее домене
С другой стороны, диапазон функции - это набор значений, которые функция может вернуть. Например, диапазон функции, подобной этой:
f(x) = -x²
- множество отрицательных действительных чисел. Так в чем же смысл range_error
? Если аргументы функции находятся в ее домене, то результат должен быть в его диапазоне, поэтому у нас не должно быть никаких ошибок в пределах диапазона ... Однако иногда значение может быть определено , но не будучи представимым . Например, в C функции в <math.h>
генерируют ошибки, если возвращаемое значение слишком велико (или слишком мало) по величине, чтобы представлять