Подтвердить что ты не робот

Нужен ли мне оператор return после исключения Python?

Я новичок в python, и я хочу убедиться, что я делаю это правильно. Я хотел бы иметь класс исключения:

class UnknownCommandReceived(Exception):
    def __init__(self, value):
        self.value = value

    def __str__(self):
        return repr(self.value)

Я создам исключение в конце этой функции, если никакие регулярные выражения не совпадают:

def cmdType(self):
    match = re.match(r'(<[ \w]+>),\s*(\d+)?,?\s*(\d+)?', cmd, re.IGNORECASE)
    if match: 
        cmd_type = 'int_tool'
        return cmd_type, match

    match = re.match(r'LCD\(([^\)]*)\)?_?(RED|YELLOW|GREEN|TEAL|BLUE|VIOLET|OFF|ON|SELECT|LEFT|DOWN|RIGHT)?', cmd, re.IGNORECASE)
    if match: 
        cmd_type = 'lcd'
        return cmd_type, match

    match = re.match(r'buffer(_read|_num|_line)(\((\w)\))?', cmd, re.IGNORECASE)
    if match: 
        cmd_type = 'buffer'
        return cmd_type, match

    # ... More regex matches ... 

    raise UnknownCommandReceived( "cmdType received an unknown command" )

    # unecessary return?
    return 'None', None

Мой вопрос: если исключение всегда возникает, то мне не нужен оператор возврата в конце функции? Мои извинения... это очень простой вопрос. Я понимаю, что исключение, когда возникает исключение, выполнение никогда не вернется к этой точке кода (если только его цикл или функция, вызываемая снова). Он пойдет прямо к улову и продолжит оттуда?

4b9b3361

Ответ 1

Нет, нет. Оператор return недоступен.

Кроме того, инструменты статического анализа, такие как pyflakes, сообщают об этом как об ошибке.