Question

Je tiens à vous détendre, la pile à un niveau arbitraire lorsqu' catch/try n'est pas disponible (c'est à dire, le code de qui je suis déroulement est hors de mon contrôle).Est-ce possible?

Par exemple, dans les tests, je voudrais avoir mes tests appeler une méthode qui vérifie les conditions préalables, et se déroule à l'appelant de l'essai, si ceux prereqs ne sont pas remplies (reprise à caller[1]).Depuis le harnais de test est hors de mon contrôle, je ne peux pas monter un catch bloc à l'endroit approprié.

Était-ce utile?

La solution

Pas de.La seule autre mécanisme de multi-niveau de revient est callcc, mais qui requiert aussi de la création de la poursuite à un niveau qui est hors de votre contrôle.

Cela dit, en Ruby, rien n'est vraiment hors de votre contrôle:vous pourriez alias de la méthode dans le framework de test et d'ajouter le code que vous souhaitez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top