8 советов как ЛУЧШЕ писать исключения на Python

Поделиться
HTML-код
  • Опубликовано: 2 янв 2025

Комментарии • 30

  • @Dmitrii-Zhinzhilov
    @Dmitrii-Zhinzhilov Год назад +3

    ZProger, благодарю! Высший класс! 🔥🔥

    • @zproger
      @zproger  Год назад +1

      Спасибо!

  • @gardenspecial7088
    @gardenspecial7088 Год назад +2

    Самый недооценённый канал.
    Но он скоро стрельнет, в сфере ит.
    Спасибо дал мне инфы, которая решила мою проблему, долго ломал над ней голову.
    Успехов твоему каналу подписался !🎉

    • @zproger
      @zproger  Год назад

      Благодарю! Я рад что мой контент помог вам

  • @ryd33n
    @ryd33n Год назад +27

    Каша из слов, Информационная составляющая хорошая, но для понимания просто каша из слов, Нет пауз между блоками про ошибки, все сливается и не понятно, относится это к прошлому блоку или к текущему. Ваше повествование это просто ужас для понимания. Зачем так гнаться? Вы хотя бы внятные паузы между словами делали бы, а то выходит бесконечно слипшийся монолог. Из-за этого подданная информация сложна для понимания. Но сами ситуации поучительны.

    • @zproger
      @zproger  Год назад

      Спасибо, учту.
      В этом видео было много фейлов, поэтому когда их вырезал то получилось так как есть

    • @Dem0nek
      @Dem0nek Год назад +9

      Я, смотрящий это видео в 2х и улавливающий суть:
      *Подавился энергетиком

    • @Gora_NaSoS
      @Gora_NaSoS Год назад

      Страшно, нам просто страшно...

  • @hoopengo2289
    @hoopengo2289 Год назад +2

    Спасибо за excepthook, очень долго искал реализацию exception handler в python, но так ничего и не находил, до этого дня. Еще раз, спасибо)

  • @usakabi3843
    @usakabi3843 Год назад +1

    Можно использовать:
    try:
    #code
    except Exception as _ex:
    print('error', _ex)

  • @probro-cw9rt
    @probro-cw9rt Год назад +13

    Вы забыли самый главный совет при написании исключений - не писать исключения). Исключения считаются антипаттерном, т.к. для того, чтобы их поймать, нужно запустить определённый блок кода. Соответственно, при возникновении ошибки, этот блок отработает "вхолостую". Более того, многочисленное перехватывание нескольких исключений в одном блоке, показанное в первом примере, может разрастаться до нереальных размеров (вплоть до 10-20 экзептов). Тем более, если речь идёт о собственных типах исключений. В любом случае, нужно стараться использовать блоки if/else, в качестве декораторов и оборачивать ими функции или методы. Это особенно удобно при валидации пользовательского ввода. Таким образом, мы выявим ошибку до вызова кода и предотвратим потерю времени. Конкретно try/except нужно использовать в тех случаях, где нам всё же необходимо выполнить код, для того, чтобы выявить исключение. К примеру, при общении с API сайта, либо запросах к базе данных.

    • @k0chi190
      @k0chi190 Год назад +6

      Нет, исключения используются в настоящем паттерне EAFP, потому что в некоторых случаях гораздо проще поймать ошибку и как-то на это отреагировать, нежели предотвратить вообще появление любых ошибок

  • @ГубкаБоб-р8ъ
    @ГубкаБоб-р8ъ Год назад +1

    Смотрю у тебя VSCode на линуксе? Лучше чем Pycharm? Если так, подскажи пожалуйста, какие + у VSCode по сравнению с Pycharm

    • @zproger
      @zproger  Год назад

      Не то чтобы лучше, просто в видео смотрится более удачно. А так используя и то и другое

  • @КонстантинАбашин-х7ы

    Как правильно поступить, если в нескольких функциях класса прописывать однотипные исключения? Происходит дублирование одинаковых строк кода. Может в таком случае их вынести в отдельную функцию?

    • @dima.kasper
      @dima.kasper Год назад +1

      Или воспользоваться декоратором

  • @robertproductsrp473
    @robertproductsrp473 Год назад +3

    Очень крутое видео! Спасибо за классные и полезные ролики

    • @zproger
      @zproger  Год назад +2

      Благодарю! Для меня это служит хорошей мотивацией

  • @Alpha_Gamma_Beta
    @Alpha_Gamma_Beta Год назад

    я пользую что-то типа такого..
    except Exception as err: print(f"Mark_01: {err}"
    ну то есть вообще не всегда понимаю, какой вообще эксепшн могу поймать...

  • @robertproductsrp473
    @robertproductsrp473 Год назад +1

    А как называется тема для vscode? Красивая

  • @ts.kdv.raz0r
    @ts.kdv.raz0r Месяц назад

    Это все понятно, а что делать, когда нет понимая, какая ошибка может выскочить?

  • @user-xz5oz
    @user-xz5oz Год назад +2

    Сколько раз за видео автор сказал слово ошибка?

  • @farpurple
    @farpurple Год назад +1

    Кипит... Нтхрена не понял, чото останется, ексептхук мб, круто, спасибо

    • @zproger
      @zproger  Год назад

      Пожалуйста :)

  • @terpiIa
    @terpiIa Год назад +3

    thirtysix