Move call to SendAlert to its own try/catch block so we can throw the or...

...iginal exception if SendAlert throws.

Fixes #19334

Licensed under MIT/X11.
Maybe I'm blind and don't understand this code, but I don't see where the original exception gets thrown if SendAlert throws (as stated in the commit message), nor how it could be done outside of this code.

I can see how this might help as a workaround for the mentioned bug (by supppressing the exception), but then I think the commit message should be updated.