J'ai une fonction qui exécute un Regex généré par l'utilisateur. Cependant, si l'utilisateur entre une regex qui ne s'exécutera pas, il s'arrête et tombe. J'ai essayé d'emballer la ligne dans un bloc Try/Catch mais hélas, rien ne se passe. Si cela peut aider, je lance jQuery mais le code ci-dessous ne l'a pas comme je suppose que c'est un peu plus fondamental que cela. Edit: Oui, je sais que je n'échappe pas au "[", c'est intentionnel et le point de la question. J'accepte l'entrée de l'utilisateur et je veux trouver un moyen d'attraper ce genre de problème sans que l'application tombe à plat sur son visage.Javascript Try/Catch
<!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>
Je l'ai fait relire, au moins 4 fois. C'est un cas de quelqu'un d'autre qui est tellement mieux à repérer cette erreur stupide que vous faites, vous l'avez peut-être rencontré vous-même. – Teifion
@Geoffrey: En fait, c'est JavaScript. –