The logic in this method (particularly the rescue and backtrace insertion bit) is very similar to what's already here:

https://github.com/rspec/rspec-mocks/blob/3ac6f4e0155db12aa1ecbfe20d710e2d90c581fa/lib/rspec/mocks/message_expectation.rb#L247-L252

Can some common logic be extracted?