soft failures add complexity and ambiguity to your system, as it creates many paths and states you have to consider. It’s generally a good idea to keep the exception handling simple, by failing fast and hard.
here is a nice paper, that highlights some exception handling issues in complex systems
https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf
is it still owned by tencent?