`raise` simply takes an error class, so `raise RuntimeError` (and actually the default error class is `RuntimeError`, if you don't provide one). [See the updated example solution](https://github.com/ga-wdi-boston/wdi_2_ruby_quiz_string_manipulation_again/pull/16).

`begin ... rescue ... end` is for catching errors that could be thrown by a block of code -- in this case you don't want to rescue an error, you want to raise it, and let whoever is calling your method deal with it.

Your class check is also placed after the line of code that relies on `string` being a string, so if it's not, line 36 will raise a default Ruby error and you'll never reach line 37.