Bird
Raised Fist0
Rubyprogramming~10 mins

Rescue modifier (inline form) in Ruby - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to return 0 if the division raises an error.

Ruby
result = 10 / 0 [1] 0
Drag options to blanks, or click blank then click option'
Arescue
Bretry
Censure
Dbegin
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'retry' instead of 'rescue' causes syntax errors.
Using 'ensure' does not handle exceptions inline.
2fill in blank
medium

Complete the code to safely convert a string to integer, returning 0 if it fails.

Ruby
number = Integer('abc') [1] 0
Drag options to blanks, or click blank then click option'
Abegin
Bensure
Celse
Drescue
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'begin' or 'ensure' inline causes syntax errors.
Not handling exceptions leads to program crash.
3fill in blank
hard

Fix the error in the code to return 'error' if the method call fails.

Ruby
value = some_method [1] 'error'
Drag options to blanks, or click blank then click option'
Aretry
Brescue
Craise
Densure
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'retry' causes infinite loops.
Using 'raise' re-raises the exception.
4fill in blank
hard

Fill both blanks to return the length of a string or 0 if it is nil.

Ruby
length = str[1].length [2] 0
Drag options to blanks, or click blank then click option'
A&
Brescue
C&.
D||
Attempts:
3 left
💡 Hint
Common Mistakes
Using '&' instead of safe navigation '&.'.
Using 'rescue' instead of '||' returns nil if str is nil.
5fill in blank
hard

Fill all three blanks to safely parse a number or return -1 if it fails.

Ruby
result = (input[1].to_i) [2] -1 [3] -1
Drag options to blanks, or click blank then click option'
A&.
Brescue
C||
D&
Attempts:
3 left
💡 Hint
Common Mistakes
Using '&' instead of '&.'.
Not using rescue causes crashes.
Misusing '||' changes logic.

Practice

(1/5)
1. What does the rescue modifier do in Ruby when used like value = 10 / x rescue 0?
easy
A. It ignores the division and returns nil
B. It always returns 10 divided by x
C. It returns 0 if dividing by x causes an error
D. It raises an error if x is zero

Solution

  1. Step 1: Understand the rescue modifier usage

    The rescue modifier catches exceptions raised by the expression before it and returns the value after rescue if an error occurs.
  2. Step 2: Apply to the example

    If 10 / x raises an error (like division by zero), the rescue modifier returns 0 instead of crashing.
  3. Final Answer:

    It returns 0 if dividing by x causes an error -> Option C
  4. Quick Check:

    rescue modifier returns fallback on error [OK]
Hint: Rescue modifier returns fallback if error happens [OK]
Common Mistakes:
  • Thinking rescue modifier prevents all errors
  • Assuming it always returns the original expression
  • Confusing rescue modifier with if-else
2. Which of the following is the correct syntax for using the rescue modifier inline in Ruby?
easy
A. result = some_method rescue fallback_value
B. result = rescue some_method fallback_value
C. result = some_method ? rescue fallback_value
D. result = some_method else rescue fallback_value

Solution

  1. Step 1: Recall the rescue modifier syntax

    The rescue modifier is placed after an expression, followed by the fallback value, like expression rescue fallback.
  2. Step 2: Match with options

    Only result = some_method rescue fallback_value matches this syntax correctly: result = some_method rescue fallback_value.
  3. Final Answer:

    result = some_method rescue fallback_value -> Option A
  4. Quick Check:

    Correct rescue modifier syntax = result = some_method rescue fallback_value [OK]
Hint: Rescue modifier goes after expression, then fallback [OK]
Common Mistakes:
  • Placing rescue before the expression
  • Using question marks or else with rescue modifier
  • Confusing rescue modifier with rescue block
3. What is the output of this Ruby code?
value = Integer('abc') rescue 'error'
puts value
medium
A. abc
B. error
C. 0
D. Raises an exception

Solution

  1. Step 1: Understand Integer conversion with invalid string

    Calling Integer('abc') raises an ArgumentError because 'abc' is not a valid number.
  2. Step 2: Apply rescue modifier

    The rescue modifier catches this error and returns the string 'error' instead of crashing.
  3. Final Answer:

    error -> Option B
  4. Quick Check:

    Invalid Integer conversion rescued to 'error' [OK]
Hint: Rescue returns fallback when conversion fails [OK]
Common Mistakes:
  • Expecting the original string as output
  • Thinking rescue returns nil by default
  • Assuming code raises exception without rescue
4. Identify the error in this Ruby code snippet using rescue modifier:
result = 10 / 0 rescue puts 'Error!'
medium
A. No error; prints 'Error!' and result is nil
B. Syntax error because rescue modifier cannot follow puts
C. Runtime error because rescue modifier is misplaced
D. result will be 0 without error

Solution

  1. Step 1: Analyze rescue modifier with puts

    The rescue modifier catches the division by zero error and executes puts 'Error!', which prints the message.
  2. Step 2: Understand return value of puts

    puts returns nil, so result is assigned nil after rescue.
  3. Final Answer:

    No error; prints 'Error!' and result is nil -> Option A
  4. Quick Check:

    Rescue modifier runs puts and assigns nil [OK]
Hint: Rescue modifier returns last expression value after rescue [OK]
Common Mistakes:
  • Expecting rescue modifier to return printed string
  • Thinking rescue modifier causes syntax error here
  • Assuming result keeps original expression value
5. You want to safely convert user input to integer but return -1 if conversion fails. Which code correctly uses rescue modifier for this?
hard
A. num = Integer(user_input) else rescue -1
B. num = rescue Integer(user_input) -1
C. num = Integer(user_input) ? rescue -1
D. num = Integer(user_input) rescue -1

Solution

  1. Step 1: Understand rescue modifier placement

    The rescue modifier must come after the expression to catch exceptions and provide fallback.
  2. Step 2: Check options for correct syntax and logic

    Only num = Integer(user_input) rescue -1 correctly places rescue after Integer(user_input) and returns -1 on failure.
  3. Final Answer:

    num = Integer(user_input) rescue -1 -> Option D
  4. Quick Check:

    Correct rescue modifier usage for fallback = num = Integer(user_input) rescue -1 [OK]
Hint: Put rescue after expression, then fallback value [OK]
Common Mistakes:
  • Placing rescue before expression
  • Using invalid syntax with question marks or else
  • Forgetting rescue modifier for error handling
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard