One way to convey that information is by decorating the function error_handler with the [[ noreturn ]] attribute.
If you cannot change the declaration of this function, maybe you can ask your microcontroller provider to update it, but meanwhile, you can just wrap it in a function of your own that is declared with this attribute.
Our error_handler() function already has a wrapper for the vendors function.
This is a plain C project so I have to use the gcc __attribute__((noreturn)) to decorate the function. However, when I add this attribute I now get a compiler warning warning: 'noreturn' function does return.
Maybe Sonarqube is actually telling me something useful here.