Aller au contenu

Exceptions

tilttek/generator

Chaque exception de la bibliothèque implémente Tilttek\Generator\Exception\GeneratorException.

ExceptionQuandMessage
InvalidDefinitionUn document, une liste, une entrée, une chaîne de Markov, un générateur, un état, une limite ou un tirage de mauvaise forme ; un fichier ou une table inconnus ; une langue sans grammaireinn.yaml > lists > weapon > 2: an entry has a text, and its weight is a whole number
InvalidCatalogDes gabarits qui ne compilent pas, sortent du bac à sable, ou nomment des listes, des étiquettes ou des générateurs inexistants ; problems() les énumèreUn Problem par ligne : inn:template:0: the list "nope" does not exist
UnknownGeneratorUn générateur demandé par un nom que le catalogue n'a pasNo generator is named "npc".
UnknownListUne liste nommée par une variable que le catalogue n'a pasNo list is named "weapon".
UnknownTagUn filtre sur une étiquette qu'aucune entrée de la liste ne porteNo entry of the list "weapon" has the tag "era".
ExhaustedListUn tirage simple quand il ne reste aucune entrée, ou quand une liste de Markov n'a pu inventer aucun mot nouveauNo entry of the list "weapon" is left to pick., The list "name.elf" invented no word that fits in 50 attempts.
LimitExceededUn tirage qui dépasse l'une des limites, ou une valeur d'état trop longue pour être rapportéeThe limit of 1000 picks per result is exceeded., The limit of 1024 characters per state value is exceeded.
GenerationFailedUn gabarit qui échoue pendant son rendu : une variable ou un champ non définis, une expression de dés qui ne se lance pas, un accès que le bac à sable refuseThe template "inn:field:name" failed: Variable "keeper" does not exist in "inn:field:name" at line 1.

Un gabarit est nommé par son générateur et son emplacement : name:template:0, name:var:gender, name:field:keeper, name:cell, name:state:weather:start, name:state:weather:next. Une exception de la bibliothèque levée dans un gabarit (UnknownList, ExhaustedList, LimitExceeded) parvient à l'appelant telle quelle, sans être enveloppée dans les erreurs de Twig.