2017-09-18 1 views
2

Comment puis-je déclencher un avertissement dans Clojure? En particulier, j'ai une situation où je veux évaluer un appel de fonction particulier pour déclencher une erreur pendant que j'exécute des tests ou que j'essaie de déployer un programme, mais je veux être capable de faire cet appel avec succès (idéalement avec un message affiché) lors de l'exécution sur le REPL. (La solution Common Lisp ici serait warn).Comment faire un avertissement dans Clojure

Y a-t-il un service disponible qui me permet de faire cela?

Répondre

3

Il n'y a pas vraiment un tel concept dans Clojure. Vous devrez l'implémenter vous-même. Vous pouvez essayer de le mettre en œuvre de plusieurs façons, selon votre situation. Le plus simple, peut-être, serait de définir un var dynamique *strict?*, et le définir à vrai normalement, mais faux quand vous êtes dans un repl. Ensuite, définissez une fonction (warn msg) qui vérifie la variable var et lève une exception avec ce message ou l'imprime sous forme d'avertissement.

+0

Assez juste. J'ai empaqueté ceci dans une bibliothèque à https://github.com/inaimathi/trivial-warning pour la facilité d'utilisation. – Inaimathi