Skip to main content

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? 🤔

Esse emoji me representa.

Conseguiu uma solução @Adriano_tsi ?


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:


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.


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.