Geralmente eu uso o try{}catch(error){} pra personalizar retornos e impedir que um erro de código ou algo do tipo estoure na tela do usuário, algum erro do servidor, customo trabalhar com a seguinte premissa, de que, o catch é sempre uma saida para que não aparecça o erro e quebre toda a experiencia do usuário na hora que ele estiver navegando
pense na seguinte hipótese::
try{
const response = await registrarUsuario(payloadToRegister);
handleMessageResponse(response.body) // mensagem de sucesso para um tooltip ou simplemente ir para uma lista de usuário
}catch(err){
//mas se algo acima falhar o seu código vai cair aqui ai pode escolher o que fazer, mandar o usuário pra outra tela, tratar os erros com mensagens personalizadas
redirecionar pra outra página ou em alguns casos dar até um console e verificar o erro (recomendo em desenvolvimento)
}
espero ter ajudado em algo