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

Erro em script mesmo tratando por Try Catch (Unexpected token '.' at Jint.Native.Json.JsonParse)
Reputação 5
Crachá +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

Reputação 7

Esse emoji me representa.


Conseguiu uma solução @Adriano_tsi ?

Reputação 5
Crachá +1

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:

Reputação 7

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.

Reputação 5
Crachá +1

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.

Comente