How to check overrun?
You can configure an interrupt to detect overrun errors. Actually a lot of interrupt are available to detect errors. From the reference manual:



Just for sure you could use the "Transmit data register empty" one as Tony has suggested.

As far as I know HAL IRQ handlers and IRQ calls for UART use all of these interrupts by default. The _IT versions of the UART calls enable all these interrupts.