Skip to main content

Erro em script mesmo tratando por Try Catch (Unexpected token '.' at Jint.Native.Json.JsonParse)

  • January 5, 2022
  • 4 comentários
  • 37 Visualizações
Erro em script mesmo tratando por Try Catch (Unexpected token '.' at Jint.Native.Json.JsonParse)
Adriano_tsi
Forum|alt.badge.img+1

Olá pessoal, tudo bom?

Tenho um problema relacionado a função de execução de script:

Tenho um script para parsear um possível JSON que pode vir como input dentro do bloco de exceções, porém nem sempre esse input vai ser um JSON, afinal é o bloco de exceções, por isso eu trato o script usando o bom e velho Try Catch, porém aconteceu uma situação onde o usuário enviou apenas um ponto (.), por algum motivo o script não caiu no catch, simulando em qualquer outro lugar o script deveria funcionar, mas dentro do Blip não vai.

function run(inputTemp) {
  try{
      inputTemp = JSON.parse(inputTemp)
      if(inputTemp.hasOwnProperty('input')){
          return inputTemp.input
      }
      return false
  }catch(e){
      return false
  }
}

Erro apresentado no debug:

Alguém poderia me dar uma luz ou sugestão de outro scritp? 🤔

4 comentários

Bruno
  • Specialist
  • January 21, 2022

Esse emoji me representa.

Conseguiu uma solução @Adriano_tsi ?


Adriano_tsi
Forum|alt.badge.img+1
  • Autor
  • Solver
  • January 21, 2022

Então… pior que não, é um erro bastante incomodum mas acontece, queria que houvesse outra forma de solucionar que não seja habitiar “continuar com erro”, já que na prática o script deveria retornar false em caso de erro né :watching:


Bruno
  • Specialist
  • January 21, 2022

Sim :watching:

Vou ver se consigo entender esse comportamento. Mas fico feliz que seja uma coisa pontual

Como é algo passável pelo usuário, talvez dê pra validar via regex ou algo do tipo, não? Pra ele não mandar só o ponto, por exemplo.


Adriano_tsi
Forum|alt.badge.img+1
  • Autor
  • Solver
  • January 21, 2022

Verdade 🤔, vou fazer uns testes pra checar se outros caracteres especiais ou algum outro tipo de input causa o mesmo erro, por enquanto só vi acontecer com o ponto, e se eu não me engano teve um caso que aconteceu com interrogação também, bem bizarro.