Get startedGet started for free

Error messages

Your C++ functions can contain calls to the stop() function to raise an exception. We've partially defined a function add_positive_numbers() for you. Complete this function to raise exceptions.

This exercise is part of the course

Optimizing R Code with Rcpp

View Course

Exercise instructions

  • If x is negative, raise an exception with the message: "x is negative".
  • If y is negative, raise an exception with the message: "y is negative".

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

cppFunction('
  // adds x and y, but only if they are positive
  int add_positive_numbers(int x, int y) {
      // if x is negative, stop
      if(___) stop("x is negative") ;
    
      // if y is negative, stop
      if(___) ___("y is negative") ;
     
      return x + y ;
  }
')

# Call the function with positive numbers
add_positive_numbers(2, 3)

# Call the function with a negative number
add_positive_numbers(-2, 3)
Edit and Run Code