Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

251
Visualizações
AWS JavaScript SDK v3 con TypeScript 4.4.2 y @types/node 16.7.10 arroja un tipo de error

Actualicé hoy (después de un par de meses) mi archivo package.json con las últimas versiones del paquete, creo que los que afectan este error son los que están en el tema de la pregunta.

Algunos bloques de manejo de errores como el siguiente

 try { // ... } catch(err) { console.log(err.message); }

dejó de funcionar debido al error de TypeScript 2571: Object is of type 'unknown'.

¡Agradable! Solo tuve que aplicar el siguiente cambio simple:

 try { // ... } catch(err) { console.log(err instanceof Error ? err.message : JSON.stringify(err)); }

no solo mi código comenzó a funcionar una vez más, sino que también siento que mi código es más resistente.

El problema surge cuando trato de manejar un error lanzado desde AWS SDK v3.

 import { CloudWatchLogs, ResourceNotFoundException } from "@aws-sdk/client-cloudwatch-logs"; const cwl = new CloudWatchLogs({ region: "us-east-2" }); try { const logGroupName = "..."; const logStreamName = "..."; const { events } = await cwl.getLogEvents({ logGroupName, logStreamName }); // ... } catch(err) { if(! (err instanceof ResourceNotFoundException)) console.log(err); }

En el ejemplo de código anterior simplificado (no estoy manejando la paginación), simplemente quiero ignorar ResourceNotFoundException , pero la err instanceof ResourceNotFoundException check no se compila ya que ResourceNotFoundException es una interface en lugar de una class .

Encontré esta respuesta que parece que podría ayudarme.

La pregunta es: ¿debo escribir una función instanceOf\w+Exception (perdón por la expresión regular) para cada excepción de AWS que necesito manejar, o AWS proporciona una forma común y reutilizable?

La razón principal por la que busco esto no es que sea perezoso (y lo soy), pero si escribo mis propias funciones de instanceOf\w+Exception que inspeccionan el código fuente del SDK de AWS, mis funciones pueden dejar de funcionar si Amazon lo hace. cambiar algo en el SDK.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Encontré este problema : sospecho firmemente que, en este momento, la respuesta es simplemente: no, no lo hay.

Editar: el mismo problema se resolvió y ahora podemos usar el operador instanceof (aún no lo he probado).

about 4 years ago · Juan Pablo Isaza Relatório

0

Actualización 2022

AWS SDK v3 ahora está usando instanceof y desaprobando el sdkerror de mecanografiado

https://aws.amazon.com/blogs/developer/service-error-handling-modular-aws-sdk-js

 import { InvalidSignatureException, ResourceNotFoundException, FooServiceException, } from "@aws-sdk/client-foo";

Obviamente reemplace foo por el cliente que está usando

 try { await client.send(someCommand); } catch (e) { if (e instanceof InvalidSignatureException) { // Handle InvalidSignatureException } else if (e instanceof ResourceNotFoundException) { // Handle ResourceNotFoundException } else if (e instanceof FooServiceException) { // Handle all other server-side exceptions from Foo service } else { // Other errors } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda