avoids exceptions as a type of return value to prevent unnecssary stack-traces being generated, improving performance