diff options
-rw-r--r-- | pokemontools/crystal.py | 11 | ||||
-rw-r--r-- | pokemontools/exceptions.py | 5 |
2 files changed, 14 insertions, 2 deletions
diff --git a/pokemontools/crystal.py b/pokemontools/crystal.py index f21e097..dca30d5 100644 --- a/pokemontools/crystal.py +++ b/pokemontools/crystal.py @@ -372,8 +372,15 @@ class TextScript: logging.debug("cls.last_address is {0}".format(hex(cls.last_address))) logging.debug("self.last_address is {0}".format(hex(self.last_address))) - assert self.last_address == (cls.address + cls.size), "the last address should equal the last command's (address + size)" - assert self.last_address == cls.last_address, "the last address of the TextScript should be the last_address of its last command" + if self.last_address != (cls.address + cls.size): + raise exceptions.TextScriptException( + "the last address should equal the last command's (address + size)" + ) + + if self.last_address != cls.last_address: + raise exceptions.TextScriptException( + "the last address of the TextScript should be the last_address of its last command" + ) # just some debugging.. if self.debug: diff --git a/pokemontools/exceptions.py b/pokemontools/exceptions.py index 674f829..71d0da2 100644 --- a/pokemontools/exceptions.py +++ b/pokemontools/exceptions.py @@ -6,3 +6,8 @@ class AddressException(Exception): """ There was a problem with an address. Maybe it was out of range or invalid. """ + +class TextScriptException(Exception): + """ + TextScript encountered an inconsistency or problem. + """ |