Com a solução apresentada, quando ocorre erro a mensagem exibida na caixa fica "Error: Error: Não foi possível obter as negociações da semana". Pelo que percebi isso ocorre pois temos um
throw new Error('Não foi possível obter as negociações da semana');
em obterNegociacoesDaSemana() que irá retornar para a nova função obterNegociacoes() que por sua vez faz um catch neste erro e lança um novo
throw new Error(erro);
Pergunta 1: Cada um desses "throw new Error" está adicionando a String "Error:" à frente da String 'Não foi possível obter as negociações da semana'?
Pesquisando encontrei que é possível fazer isto em obterNegociacoesDaSemana()
throw 'Não foi possível obter as negociações da semana';
ao invés de
throw new Error('Não foi possível obter as negociações da semana');
e em obterNegociacoes() fazer isto
.catch( erro => {
throw erro;
});
ao invés de
.catch( erro => {
throw new Error(erro);
});
o que, aparentemente, "resolve" o problema do "Error: Error: ..." no texto da mensagem que aparece pro usuário. O que nos leva a Pergunta 2.
Pergunta 2: Quais as implicações de lançar uma String ao invés de um objeto do tipo Error?