Enhance Matching Functionality

Allow the user to supply a lambda/Proc as the :matching paramater.  If
this function returns true then catch the error, false raise the error.