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

467
Visualizações
El uso de una consulta de prisma con devolución de llamada parece ignorar los bloques de prueba/captura (nodo)

Tengo este fragmento de código (el controlador de errores se toma de los documentos de prisma ):

 try { prisma.daRevisionare.create({ data: { "idTweet": tweet.id, "testo": testotweet, url } }).then((dati) => { bot.sendMessage(chatId, testotweet, { "reply_markup": { "inline_keyboard": [[{ "text": "Aggiungi", "callback_data": `si,${dati.id}` }], [{ "text": "Scarta", "callback_data": `no,${dati.id}` }]] } }) }) } catch (e) { if (e instanceof Prisma.PrismaClientKnownRequestError) { if (e.code === 'P2002') { console.log( 'There is a unique constraint violation, a new user cannot be created with this email' ) } } }

En teoría, el bloque try/catch debería evitar que la aplicación se bloquee cuando se viola una restricción única, pero cuando intento activar el error, la aplicación simplemente se bloquea:

 45 try { → 46 prisma.daRevisionare.create( Unique constraint failed on the constraint: `daRevisionare_idTweet_key` at cb (/Users/lorenzo/Desktop/anti-nft/Gen/bot_telegram/node_modules/@prisma/client/runtime/index.js:38703:17) at async PrismaClient._request (/Users/lorenzo/Desktop/anti-nft/Gen/bot_telegram/node_modules/@prisma/client/runtime/index.js:40853:18) { code: 'P2002', clientVersion: '3.9.1', meta: { target: 'daRevisionare_idTweet_key' } }

parece ignorar por completo el bloque try/catch, ¿cómo puedo resolver esto?

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

0

try/catch solo funciona con código síncrono, o con código asíncrono que usa await , olvidó usar await allí:

 try { await prisma.daRevisionare.create(...) }

Si prefiere usar promesas, puede usar el método de catch de promesa en lugar de try/catch :

 prisma.daRevisionare.create(...).then(...).catch(e => { if (e instanceof Prisma.PrismaClientKnownRequestError) { if (e.code === 'P2002') { console.log( 'There is a unique constraint violation, a new user cannot be created with this email' ) } } })
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