Java для начинающих. Урок 38: Исключения (часть 2). Выбрасывание исключений.

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

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

  • @alishevN
    @alishevN  6 лет назад +2

    Регистрируйтесь на курс "Продвинутая Java": ruclips.net/video/rRe1vT0SDD8/видео.html
    Практикуйтесь в написании Java кода: java-marathon.tilda.ws

  • @dfhnn
    @dfhnn 2 года назад +4

    Идеальный урок! Четко, без воды, и главное всё понятно, не надо лазить по другим ресурсам чтоб понять чего же тут наговорили!

  • @charlesdarwin6087
    @charlesdarwin6087 2 года назад +27

    Спасибо, помог разобраться!
    Будучи экс-преподавателем, ныне - продюсером курсов в одной из крупнейших образовательных компаний Европы, - могу профессионально оценить уровень объяснений и методической подготовки материала: на высшем уровне, так держать 👍👏

    • @alishevN
      @alishevN  2 года назад +2

      Спасибо!

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

      вы были преподавателем на курсах и не разбирались в трай кэтч?))

    • @bartcubbins9757
      @bartcubbins9757 Год назад +4

      @@alexandr6055 где он написал, что преподавал джаву или вообще какие-либо языки программирования?

  • @ИванСергеенков-х6р

    боже это лучшее что я видел. тема исключений для меня была что-то вроде неба. вроде облака и все понятно, а вроде часть космоса и почти неизвестно.
    несколько дней смотрел видео, уже прошел эту тему на своем курсе. но вот решил повторить эту тему, т.к. плохо ее понял. наткнулся на твои видео. за 2 ролика сразу все понятно стало.
    спасибо!♥
    давно приметил твой платный курс)))))

  • @АлександрТорута-я9о
    @АлександрТорута-я9о 7 лет назад +10

    Воскрес! Я тебя ждал. Твои уроки - одни из лучших уроков по Java на ютубе. Спасибо.

  • @ИгорьЧумиков-й5б
    @ИгорьЧумиков-й5б 5 лет назад +10

    Пушка бомба, я смотрю на одно дыхании) Спасибо тебе)

  • @bigmama_kat
    @bigmama_kat 4 года назад +2

    Спасибо за такое понятно обучение, лучше твоих видосов, не встречала.

  • @a.d.4418
    @a.d.4418 4 года назад +3

    Спасибо за видео урок, обычно все content maker'ы просят оставлять комментарии под видео в качестве благодарности буду это делать под каждым видео урок 👊 продолжай дальше

  • @farchi87
    @farchi87 4 года назад +1

    Спасибо, человечище. Отличные и очень внятные курсы.

  • @DenysBaiuk
    @DenysBaiuk 4 месяца назад

    Чудові відео, дякую за інформацію

  • @ИванСергеенков-х6р

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

  • @НикитаЕфимов-е3э
    @НикитаЕфимов-е3э 4 года назад +4

    Спасибо тебе большое за твой неоценимый труд!!!
    Ты очень помогаешь в освоении, без твоих уроков было тяжело!!

  • @ЮляПахопол
    @ЮляПахопол 2 года назад

    самое понятное видео из всего что я пересмотрела! спасибо)

  • @СветаСвета-р7щ8с
    @СветаСвета-р7щ8с Год назад

    Шикарная подача!!

  • @tiplankz
    @tiplankz 7 лет назад +1

    Отличный курс!!! Красава. Все доступно. ЖдЕЕЕЕЕЕм есЧе.

  • @dant5550
    @dant5550 6 лет назад +3

    не совсем понял логику примера на 4:27, ведь try - выброси exception, в противном случае - тоже подать ошибку. Почему когда вписываешь 2 не выводиться то что находиться внутри try а подается то что находиться в catch в данном примере? ведь ты ввёл 2 и логично что дальше условие выполнено и должно сработать то что в теле try

  • @danilhablak7050
    @danilhablak7050 3 года назад +3

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

  • @Andrzej3935
    @Andrzej3935 3 года назад

    Лучшие уроки.

  • @maksonaladin4033
    @maksonaladin4033 2 года назад +2

    У меня такой вопрос, когда попытался скопировать ваш код, в бесконечном цикле int x = Integer.parseInt(scanner.nextLine());
    По итогу получаю возможность ввести 0 в первый раз, и дальше, после подтверждения и повторного ввода 0, мне выбрасывает NumberFormatException for input string "". Это он перенос строки считает за ввод или что за бред? У вас вроде всё ок, но урок старый, наверное что-то да изменилось, не смог найти ответ в инете, увы

  • @Anatoli-bq1pe
    @Anatoli-bq1pe 2 года назад

    Отличные уроки)

  • @alexkuznetcov4657
    @alexkuznetcov4657 2 года назад +7

    А можно узнать в каком уроке подробней рассказывается про super ?

    • @almhrml13
      @almhrml13 2 месяца назад

      в наследовании про это рассказывалось, вызов конструктора предка

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

    Neil A. наоборот это Alien, вот откуда у него знания по джаве

  • @tedikvredik
    @tedikvredik 7 лет назад +4

    Разве родителем всех исключений не является класс Throwable?? При этом его наследник, класс Exception является родителем всех "проверяемых" checked исключений.

    • @ДениКурумов
      @ДениКурумов 6 лет назад

      Не думаю.

    • @dmitry.gashko
      @dmitry.gashko 6 лет назад

      2:08 в самом видео видно, что в документации написано Exception extends Throwable

  • @alexeymakarov4840
    @alexeymakarov4840 7 лет назад

    Наконец-то. Даже голос поменялся.

  • @dimapetrashchuk3036
    @dimapetrashchuk3036 6 лет назад +4

    Скажите пожалуйста, а зачем нужна эта конструкция? Почему нельзя обойтись обычной валидацией с помощью if/else?

    • @dmitriy_pavlovskiy
      @dmitriy_pavlovskiy 6 лет назад +7

      Dima Petrashchuk Так решили разработчики Java. Так удобнее. Каждое исключение - уже готовый класс. А при отсутствии исключений вам бы приходилось писать исключение самому в отдельном файле/классе и затем подключать его.

    • @dimapetrashchuk3036
      @dimapetrashchuk3036 6 лет назад

      @@dmitriy_pavlovskiy понятно. Спасибо за ответ.

  • @kladmonet9
    @kladmonet9 4 года назад

    очень хороший урок!

  • @jamjam3337
    @jamjam3337 3 месяца назад

    спасибо

  • @DanaO-su6xl
    @DanaO-su6xl 10 месяцев назад

    Почему вы в конце видео при переопределении унаследованного конструктора класса Exception не сохранили начальную сигнатуру конструктора? Вы ведь можете добавить или изменить функциональность конструктора, но имя конструктора и имя аргумента родительского класса должны были сохранить!

  • @Грант1147
    @Грант1147 4 года назад +1

    Мы так скоро все экспертами станем)

  • @C2H5OHH
    @C2H5OHH 2 года назад

    Спасибо!

  • @НаталияБогатырева-р4в

    А что за магия с открытием класса Exeption?! Это так любой класс можно открыть и посмотреть его код?

  • @max_from_petergof
    @max_from_petergof 6 лет назад +4

    Про SUPER ранее вроде не разьяснялось!

  • @einoharanen6828
    @einoharanen6828 6 лет назад

    Спасибо, чувачёк =)

  • @РодионТкаченко-ю5р

    А почему автор говорит что родитель всех исключений это class Exception. Разве это не класс Throwable?

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

      Все верно Throwable родитель Exception и Error. Класс Ехception используется для описания исключительных ситуации, которые должны перехватываться программным кодом пользователя. Класс Error предназначен для описания исключительных ситуаций, которые при обычных условиях не должны перехватываться в пользовательской программе.

  • @alexb.2616
    @alexb.2616 4 года назад

    Огромное спасибо!!!!

  • @nailovie4235
    @nailovie4235 7 лет назад

    Все отлично

  • @k12370rty
    @k12370rty 3 года назад

    не понял как выбрать что именно нам подходит из перечня всех эксепшенов на сайте. Как выбрать..по какому принципу

    • @danilhablak7050
      @danilhablak7050 3 года назад +1

      на сайте нет сортировки по каким-либо параметрам. Проще ввести в поиске "исключения в Java при вводе-выводе, работе с файлами и т.д". В таком случае Вы получите более конкретный ответ

  • @dmitry.gashko
    @dmitry.gashko 6 лет назад +1

    Почему ты не используешь scanner.nextInt()?

  • @palatense6584
    @palatense6584 7 лет назад

    Благодарю!

    • @alishevN
      @alishevN  7 лет назад

      :)

    • @денисхачатрян-к7о
      @денисхачатрян-к7о 7 лет назад

      скажите пожалуйста чем отличается java от java андройд ...что нужно знать чтобы делать приложения для андроид?

    • @dushegub_kill
      @dushegub_kill 7 лет назад

      java надо знать и хмл структуру, код для андроида пишется на java.

    • @денисхачатрян-к7о
      @денисхачатрян-к7о 7 лет назад

      спасибо!

  • @AK-it4nk
    @AK-it4nk 7 лет назад +2

    Спасибо за урок! Не ясно как понять какое из исключений нужно выбирать?

    • @gleb_bro8710
      @gleb_bro8710 4 года назад +1

      Создавай свое.

    • @gleb_bro8710
      @gleb_bro8710 4 года назад +7

      @@chechen_nokhcho я ответил, чтобы другие люди, у которых такая же проблема увидили мой коммент, и поняли, что надо делать

    • @danilhablak7050
      @danilhablak7050 3 года назад +2

      на сайте нет сортировки по каким-либо параметрам. Проще ввести в поиске "исключения в Java при вводе-выводе, работе с файлами и т.д". В таком случае Вы получите более конкретный ответ

    • @DolphinArtem
      @DolphinArtem 2 года назад +1

      @@danilhablak7050 Спасибо тебе за активность, всегда радуют люди(не выскочки и зазнайки), которые знают как объяснить! Вот скажи, пожалуйста, я правильно понял, блок try, catch позволяет программе работать дальше, а оператор throw, останавливает ее?

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

      @@DolphinArtem throw выбрасывает исключение, если мы хотим его обработать его нужно помещать в try{}, затем в catch оно поймается(обработается), если хотим объявить, но не обрабатывать, то используем ключевое слово throws после параметров метода перед началом его тела {}.

  • @ксвладимир
    @ксвладимир 4 года назад +1

    Неужели строка "int x = Integer.parseInt(scanner.nextLine());" здесь более уместна, чем "int x = scanner.nextInt();"?
    Я чего-то не понимаю?

    • @alishevN
      @alishevN  4 года назад +8

      scanner.nextInt() лучше вообще не использовать. Он не учитывает знак переноса строки. Из-за этого иногда возникают проблемы.

    • @danilhablak7050
      @danilhablak7050 3 года назад +1

      как по мне, лучше вовсе не использовать scanner. В Java прекрасно можно реализовать считывание текста используя конструкцию InputStreamReader, обернув его в BufferedReader
      BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
      String line = reader.readLine();
      int number = Integer.parseInt(reader.readLine());

    • @Дмитрий-ц5ш5ъ
      @Дмитрий-ц5ш5ъ 3 года назад

      @@danilhablak7050 Зачем так усложнять? Какие от этого преимущества?!

    • @DolphinArtem
      @DolphinArtem 2 года назад

      @@Дмитрий-ц5ш5ъ Они есть точно, я тоже смотрю, что Scanner нигде не используют...

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

      ооо, у меня тоже такой вопрос возник. Спасибо всем за разъяснения.

  • @Sk-gb2hx
    @Sk-gb2hx 4 года назад +1

    не совсем понял зачем кидать исключение , чтобы ловить его самому? , в чём смысл

    • @tobe2339
      @tobe2339 4 года назад +6

      если ты просто делаешь какой-то запрос к базе, чтение из файла и т.д., то в случае ошибок, твоя программа "встанет раком", просто выскочит, как в windows critical error и программа закроется или зависнет, а так у тебя просто выскочит ошибка, но программа будет работать.

  • @daytona2786
    @daytona2786 4 года назад

    int a = sc.nextInt();

  • @vadiculus5892
    @vadiculus5892 3 года назад +1

    а ты хацкер спалился

  • @ВоваШулюмов-з3ь
    @ВоваШулюмов-з3ь 2 года назад

    Добрый день! Смотрю постоянно ваши уроки всё очень понятно и хорошая подача материала, огромное спасибо за вашу работу! Но сегодня столкнулся с такой проблемкой , когда попытался скопировать ваш код, в бесконечном цикле int x = Integer.parseInt(scanner.nextLine()); могу ввести 0 два раза и дальше, мне выбрасывает Exception in thread "main" java.lang.NumberFormatException: For input string: "" На дебаге я проверил первый ноль считывает как положено, второй
    ноль просто как пустую строку как будто я ничего не вводил вообще! Не подскажете что может быть? Спасибо!