E aí, Jorge!
Então, o Error é um tipo de objeto padrão do JavaScript que mostra um erro. Quando você dá um "throw", esse objeto Error entra em cena e pode ser agarrado num "catch". Ele tem várias propriedades, e uma delas é a "message".
A "message" é tipo um texto que explica o erro. Se você solta um erro assim: throw new Error("Erro aqui!")
, esse texto vai direto pra propriedade "message" do objeto Error.
No seu lance, você tá olhando se o erro que pegou é do tipo Error e depois quer ver o que tem na "message". Se esse erro não for do tipo Error, aí é que tá o problema: ele não vai ter essa "message".
Olha só um exemplo na prática:
try {
throw new Error("Bro, deu ruim aqui!");
} catch (error) {
if (error instanceof Error) {
console.log(error.message); // Vai mostrar: "Bro, deu ruim aqui!"
}
}
Se o erro que tá pegando não for do tipo Error, tenta só imprimir o erro mesmo pra ver o que tem lá.