Instead of using a `let` + a shared example, why not define 

``` ruby
expect(controller).to rescue_from(RuntimeError).with(:error_method)
```

as a method, and then say

``` ruby
controller = controller_with_rescue_from_and_method(:public)
expect_controller_to_do_whatever(controller)
```

The other thing is that in making a shared example it's not clear what case you're handling here. What about naming the test "can use a (public|private|protected) method to handle a registered exception"?