> -- Alexey_Donskoy писал(а):
> сказала мне, что "система не подвержена уязвимости". Core i5 трёхлетней давности, если не более. Странно.Хотел написать, что утилита написана тяп-ляп из-за этого фрагмента, где дублируется часть кода:
## Код:
```
try:
    ver_str, code, family = sps.run_tool()
except sps.SPSUnsupportedError as the_err:
    try:
        ver_str, code, family = sps.run_tool(use_old=True)
    except sps.SPSUnsupportedError:
        log.log("SPS tool meet unsupported platform\n")
    except sps.SPSNoTool as the_err:
        log.log("Can't find SPS tool\n")
    except sps.SPSToolError as the_err:
        log.log("SPS tool returned error %d\n" % the_err.ret)
    except sps.SPSVerNotFound as the_err:
        log.log("Can't find SPS version in the tool output\n")
    except OSError as the_err:
        log.log("SPS tool failed with error %s[%d]\n" %
                       (the_err.strerror, the_err.errno))
except sps.SPSNoTool as the_err:
    log.log("Can't find SPS tool\n")
except sps.SPSToolError as the_err:
    log.log("SPS tool returned error %d\n" % the_err.ret)
except sps.SPSVerNotFound as the_err:
    log.log("Can't find SPS version in the tool output\n")
except OSError as the_err:
    log.log("SPS tool failed with error %s[%d]\n" %
                   (the_err.strerror, the_err.errno))
```

Поэтому и к её результатам стоит относиться соответствующе. Но потом подумал, что так просто этот фрагмент не переписать, чтобы это было однозначно лучше. Исключения - это ещё и всегда очень удобно.

Так код мог бы выглядеть, если бы подпрограмма возвращала бы ошибку
## Код:
```
the_err, ver_str, code, family = sps.run_tool()
if the_err is sps.SPSUnsupportedError:
    the_err, ver_str, code, family = sps.run_tool(use_old=True)

if the_err is sps.SPSUnsupportedError:
    log.log("SPS tool meet unsupported platform\n")
elif the_err is sps.SPSNoTool:
    log.log("Can't find SPS tool\n")
elif the_err is sps.SPSToolError:
    log.log("SPS tool returned error %d\n" % the_err.ret)
elif the_err is sps.SPSVerNotFound:
    log.log("Can't find SPS version in the tool output\n")
elif the_err is OSError:
    log.log("SPS tool failed with error %s[%d]\n" %
                   (the_err.strerror, the_err.errno))
```


Впрочем, у писателя этой утилиты ещё и с логикой проблемы:
## Код:
```
no_drv = True if code == glob.HECI_NOT_INSTALLED else False
```
