fenser, с такими запросами - на фриланс, однозначно.
То, что вы запрашиваете - это основы. Вам их обозначил Dmitrii, но применить их вы всё равно не сумеете, так как не владеете навыками. Чтобы овладеть навыками, надо много кода написать и отдебажить.
Поэтому это у вас не вопрос, а задание.
А с заданиями - на фриланс.
«…я только вчера начал учить латынь и анатомию, решил попрактиковаться на проведении аппендэктомии, хочу чтоб пациенты не умирали, как мне исправить ошибки?»
mayton2019, по-моему в данном коде Exception не связаны с Sanic. Там идет подготовка данных (файла PDF) для выдачи по запросу API, и в этой подготовке различные операции обернуты в конкретные Exception из каких-то контроллеров. Хотя, возможно, я что-то не так понял.
Файл - это определенный объект, имеющий атрибуты (поля) "название", "путь к файлу", "состояние" и т.п., и с которым можно делать всякие вещи:
1. сгенерировать
2. изменить
3. удалить
4. отобразить
5. сменить состояние
и т.п.
Это должны быть методы класса "файл PDF", который описывает объекты типа ваших файлов PDF.
И для создания или изменения такого файла код по-идее должен создать новый экземпляр класса, в котором должны храниться поля: название файла, и местонахождение, и особенности, и состояние, и методы его изменения, и всё остальное, что касается этого типа объектов - файлы PDF.
И затем мы из своего кода дергаем конкретный экземпляр за его методы, и он внутри себя запускает формирование собственно файла и заполняет нужные свои поля.
И когда он сформирован и готов к передаче, мы ВНЕ этого файла передаем другому механизму (который реализует отправку) поле "путь" нашего экземпляра класса файлов PDF, и ждем отправки.
А после отправки дергаем метод файла PDF "удалить" и после удаления файла удаляем соответствующий экземпляр класса файлов PDF (или не удаляем, если нам он еще нужен).
А у вас получается, что методы, которые формируют PDF, находятся где-то вне этого объекта, просто сложены в некий внешний по отношению к файлам PDF класс типа "инструменты для подготовки файлов PDF". Не то, чтобы это было запрещено... но я представлял себе применение классов по-другому.
Роман Бурч, знаете… я долго вкатывался в ООП и еще мне вкатываться и вкатываться. Недавно я обнаружил хороший, как мне кажется, пример реализации ООП для Selenium. Он мне очень помог переосмыслить некоторые вещи. Я прям свой код полностью под это рефакторил, больше полтыщи строк в мусорку…
То, что вы запрашиваете - это основы. Вам их обозначил Dmitrii, но применить их вы всё равно не сумеете, так как не владеете навыками. Чтобы овладеть навыками, надо много кода написать и отдебажить.
Поэтому это у вас не вопрос, а задание.
А с заданиями - на фриланс.