Uma das langs que eu conheço que tem tolerância a falhas é elixir, uma linguagem brasileira que abstrai a maquina virtual do erlang(beam) e sobre threads abstraida em processos.
Da forma que o elixir faz, você pode ter erro critico em um processo, você pode matar ele e subir um novo processo que continuaria o que o anterior falhou