Tengo una función que ejecuta un Regex generado por el usuario. Sin embargo, si el usuario ingresa una expresión regular que no se ejecutará, se detendrá y desaparecerá. Intenté ajustar la línea en un bloque Try/Catch, pero desafortunadamente no pasa nada.Javascript Try/Catch
Si ayuda, estoy ejecutando jQuery pero el código siguiente no lo tiene porque supongo que es un poco más fundamental que eso.
Editar: Sí, sé que no estoy escapando del "[", eso es intencional y el objetivo de la pregunta. Estoy aceptando la entrada del usuario y quiero encontrar una manera de detectar este tipo de problema sin que la aplicación caiga de bruces.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Regex</title>
<script type="text/javascript" charset="utf-8">
var grep = new RegExp('gr[');
try
{
var results = grep.exec('bob went to town');
}
catch (e)
{
//Do nothing?
}
alert('If you can see this then the script kept going');
</script>
</head>
<body>
</body>
</html>
Lo revisé, al menos 4 veces. Es un caso en que alguien más es mucho mejor al detectar ese error tonto que haces, es posible que lo hayas encontrado tú mismo. – Teifion
@Geoffrey: En realidad, es JavaScript. –