How to Quiet[] only the first argument of Check[]?

I have a Check of the form

Check[expr,failexpr, {NIntegrate::slwcon}] 

I would like to redo the calculation with higher precision if I get the NIntegrate error, but if there is still a problem even with higher precision (while evaluating failexpr), I would like the error message to show. I do not want the error message which was already handled (while evaluating expr) to show.

There seems to be no solution to this using just Quiet[]:

If I try Quiet[expr, {NIntegrate::slocon}] the check never activates and it never evaluates failexpr.

But if I put Quiet around the whole Check, then if the failexpr still fails, I get no error message so I never know about it.

This seems like an option which would be very natural to add to check. But it’s just not there. Is there a simple solution?