I hardly think of a service that continues with its unhandled exceptions.
For example, there is a service that receives something from the user and writes it to the database.
Imagine that a record in the database is an unhandled exception (for example, an empty catch , so that the application does not fall).
It turns out that the service continues to work, and in this case, the user gets the impression that everything is fine, but in fact his data is not written to the database.
Conclusion: Provide for all exceptions and their processing, otherwise the appearance of correct work will be created, and in fact there will be unpredictable behavior. If you really do not expect this behavior, then let the service drop with a log entry. Analyzing the log, you will get a place of occurrence of an error, where you can foresee a new place for handling an exception, if possible.
Sense to keep the service active if an unhandled exception has occurred? After all, the performance of the service can go on unpredictable ways, up to infinite cycles ...
If the service is multifunctional, then you can store data about active functions somewhere.
If an unhandled exception occurred in a thread that implements a function (that killed the thread, then we make this function inaccessible.
When calling a particular function, look for it in the collection of functions and check that it can be used.
It turns out that the service works correctly, but some of the functionality does not work.