This `catch` swallows the `throw` doesn't it?  Is that what you intended?