2010-09-18 4 views
6

Je travaille actuellement dans certains programmes de raquette, en particulier dans la langue du PLAI du Programming Languages: Application and Interpretation livre, et il y a une fonction appelée test, je me demandais comment tester l'erreur de lancer dans la raquette? Est-ce que quelqu'un sait comment faire cela?Comment tester le lancement d'erreurs dans la raquette?

Salutations

(Je ne suis pas anglophone, j'espère que cette question peut être comprendre)

+0

Oui, votre question est très compréhensible Cependant, si vous voulez des conseils sur la façon d'améliorer votre anglais, voici deux commentaires: 1. Le mot «Je» est un nom propre et est mis en majuscule même si ce n'est pas au début d'une phrase 2. Habituellement, si vous dites quelque chose comme «salutations» (ce qui n'est souvent pas nécessaire), cela va au début de ce que vous dites Il y a d'autres phrases que vous utilisez à la fin, encore une fois, ce n'est qu'un conseil amical, et votre question est compréhensible telle qu'elle est –

+0

Peut-être que cette question devrait être rebaptisée: "Comment tester le jet d'erreurs dans Langage PLAI de Racket "? – logc

Répondre

7

Il est test/exn que vous pouvez utiliser pour tester les messages d'erreur, par exemple:

(test/exn (error "foo") "foo") 

mais notez que les docs indiquent qu'il ne peut tester que les exceptions explicitement déclenchées par votre code. L'idée est que votre code devrait vérifier les erreurs et les augmenter, sinon vous avez un bug. ..

(Pour les tests de code de raquette « vrai », voir rackunit

+5

Bien que cette réponse soit absolument correcte pour la question posée, certaines personnes (comme moi) pourraient atterrir ici en cherchant la réponse au titre de la question (tester "lang raquette" et non "lang plai"). La fonction que vous recherchez est 'check-exn' dans' rackunit'. Voici [sa documentation] (http://docs.racket-lang.org/rackunit/api.html#%28def._%28%28lib._rackunit%2Fmain..rkt%29._check-exn%29%29) – logc