在c ++中,
在处理数学函数时,都会使用域和范围错误.
一方面,函数的域是函数可以接受的值集.例如,根平方函数的域是正实数的集合.因此,domain_error
当函数的参数未包含在其域中时,将抛出异常
另一方面,函数的范围是函数可以返回的值集.例如,像这样的函数的范围:
f(x) = -x²
是负实数的集合.那有什么意义range_error
呢?如果函数的参数在其域中,则结果必须在其范围内,因此我们不应该在范围内有任何错误...但是,有时可以定义值,但不能表示.例如,在C中,
如果返回值的大小(或太小)无法表示,则函数会生成错误
一个域误差指的是与问题的数学领域的功能.有时仅为某些值定义函数.如果尝试使用不属于其域的参数调用此类函数,则表示存在域错误.
例如,尝试sqrt()
使用否定参数调用是域错误,因为负数不是域的一部分sqrt()
.