Я пытаюсь реорганизовать python class в Genie, но я зациклился на том, как обрабатывать ошибки. Некоторые указатели будут очень благодарны.Обработка ошибок с Genie
Если я правильно понял, способ обработки ошибок с Genie используется Try ... кроме блоков, но как перевести следующий тип обработки в этой парадигме ошибки:
# Enable dictionary/list-style access to options and arguments.
def __getitem__(self, key):
if isinstance(key, int):
if key < len(self.arguments):
return self.arguments[key]
else:
raise ArgParserError(
"positional argument index [%s] is out of bounds" % key
)
else:
option = self._get_opt(key)
return option.value
код, я на данный момент выглядит (в Genie):
def getitem (key:int):string
if key.is_int()
if key < len(_arguments)
return _arguments[key]
else
raise ArgParserError(
"positional argument index [%s] is out of bounds", key
)
else
var option = _get_opt(key)
return option.value
Это фиктивный код, я только моделирование проблемы, и я отдаю себе отчет в том, что он не будет компилироваться как есть. Я ищу только указатель на то, как передать команду «'raise' '' из python.
Is OUT_OF_BOUNDS определение типа, которое я могу придумать, или список вариантов, которые я могу использовать? –
В примере используется один, который я составил, вы можете изменить его на все, что захотите. Существуют существующие определения библиотек для исключений, если вы хотите их использовать, например GLib.IOError – AlThomas