Спасибо, помог разобраться! Будучи экс-преподавателем, ныне - продюсером курсов в одной из крупнейших образовательных компаний Европы, - могу профессионально оценить уровень объяснений и методической подготовки материала: на высшем уровне, так держать 👍👏
боже это лучшее что я видел. тема исключений для меня была что-то вроде неба. вроде облака и все понятно, а вроде часть космоса и почти неизвестно. несколько дней смотрел видео, уже прошел эту тему на своем курсе. но вот решил повторить эту тему, т.к. плохо ее понял. наткнулся на твои видео. за 2 ролика сразу все понятно стало. спасибо!♥ давно приметил твой платный курс)))))
Спасибо за видео урок, обычно все content maker'ы просят оставлять комментарии под видео в качестве благодарности буду это делать под каждым видео урок 👊 продолжай дальше
твое обучение можно смотреть как сериал. а перерыв между сериями - будто это не перерыв между выпусками, а пауза в кино, которую я лично включил. у тебя настолько все плавно переходит из одной темы в другую, что тебе бы позавидовал любой режиссер нетфликса и пожал бы руку продюссер оскороносного фильма. впервые за долгое комментарий пишу.
не совсем понял логику примера на 4:27, ведь try - выброси exception, в противном случае - тоже подать ошибку. Почему когда вписываешь 2 не выводиться то что находиться внутри try а подается то что находиться в catch в данном примере? ведь ты ввёл 2 и логично что дальше условие выполнено и должно сработать то что в теле try
trows не обрабатывает исключения, оно просто пробрасывает его вврех по стеку. По сути компилятор просто игнорирует возможную ошибку в данной программе. На практике, при пробрасывании вверх по стеку, вам необходимо реализовать обработку исключения с помощью try-catch в каком либо из предшествующих методов и предусмотреть варианты решения или обхода критического завершения программы, как это произошло здесь. Лучше обрабатывать исключения на месте, дабы облегчить читаемость вашего кода
У меня такой вопрос, когда попытался скопировать ваш код, в бесконечном цикле int x = Integer.parseInt(scanner.nextLine()); По итогу получаю возможность ввести 0 в первый раз, и дальше, после подтверждения и повторного ввода 0, мне выбрасывает NumberFormatException for input string "". Это он перенос строки считает за ввод или что за бред? У вас вроде всё ок, но урок старый, наверное что-то да изменилось, не смог найти ответ в инете, увы
Разве родителем всех исключений не является класс Throwable?? При этом его наследник, класс Exception является родителем всех "проверяемых" checked исключений.
Dima Petrashchuk Так решили разработчики Java. Так удобнее. Каждое исключение - уже готовый класс. А при отсутствии исключений вам бы приходилось писать исключение самому в отдельном файле/классе и затем подключать его.
Почему вы в конце видео при переопределении унаследованного конструктора класса Exception не сохранили начальную сигнатуру конструктора? Вы ведь можете добавить или изменить функциональность конструктора, но имя конструктора и имя аргумента родительского класса должны были сохранить!
Все верно Throwable родитель Exception и Error. Класс Ехception используется для описания исключительных ситуации, которые должны перехватываться программным кодом пользователя. Класс Error предназначен для описания исключительных ситуаций, которые при обычных условиях не должны перехватываться в пользовательской программе.
на сайте нет сортировки по каким-либо параметрам. Проще ввести в поиске "исключения в Java при вводе-выводе, работе с файлами и т.д". В таком случае Вы получите более конкретный ответ
на сайте нет сортировки по каким-либо параметрам. Проще ввести в поиске "исключения в Java при вводе-выводе, работе с файлами и т.д". В таком случае Вы получите более конкретный ответ
@@danilhablak7050 Спасибо тебе за активность, всегда радуют люди(не выскочки и зазнайки), которые знают как объяснить! Вот скажи, пожалуйста, я правильно понял, блок try, catch позволяет программе работать дальше, а оператор throw, останавливает ее?
@@DolphinArtem throw выбрасывает исключение, если мы хотим его обработать его нужно помещать в try{}, затем в catch оно поймается(обработается), если хотим объявить, но не обрабатывать, то используем ключевое слово throws после параметров метода перед началом его тела {}.
как по мне, лучше вовсе не использовать scanner. В Java прекрасно можно реализовать считывание текста используя конструкцию InputStreamReader, обернув его в BufferedReader BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String line = reader.readLine(); int number = Integer.parseInt(reader.readLine());
если ты просто делаешь какой-то запрос к базе, чтение из файла и т.д., то в случае ошибок, твоя программа "встанет раком", просто выскочит, как в windows critical error и программа закроется или зависнет, а так у тебя просто выскочит ошибка, но программа будет работать.
Добрый день! Смотрю постоянно ваши уроки всё очень понятно и хорошая подача материала, огромное спасибо за вашу работу! Но сегодня столкнулся с такой проблемкой , когда попытался скопировать ваш код, в бесконечном цикле int x = Integer.parseInt(scanner.nextLine()); могу ввести 0 два раза и дальше, мне выбрасывает Exception in thread "main" java.lang.NumberFormatException: For input string: "" На дебаге я проверил первый ноль считывает как положено, второй ноль просто как пустую строку как будто я ничего не вводил вообще! Не подскажете что может быть? Спасибо!
Регистрируйтесь на курс "Продвинутая Java": ruclips.net/video/rRe1vT0SDD8/видео.html
Практикуйтесь в написании Java кода: java-marathon.tilda.ws
Идеальный урок! Четко, без воды, и главное всё понятно, не надо лазить по другим ресурсам чтоб понять чего же тут наговорили!
Спасибо, помог разобраться!
Будучи экс-преподавателем, ныне - продюсером курсов в одной из крупнейших образовательных компаний Европы, - могу профессионально оценить уровень объяснений и методической подготовки материала: на высшем уровне, так держать 👍👏
Спасибо!
вы были преподавателем на курсах и не разбирались в трай кэтч?))
@@alexandr6055 где он написал, что преподавал джаву или вообще какие-либо языки программирования?
боже это лучшее что я видел. тема исключений для меня была что-то вроде неба. вроде облака и все понятно, а вроде часть космоса и почти неизвестно.
несколько дней смотрел видео, уже прошел эту тему на своем курсе. но вот решил повторить эту тему, т.к. плохо ее понял. наткнулся на твои видео. за 2 ролика сразу все понятно стало.
спасибо!♥
давно приметил твой платный курс)))))
Воскрес! Я тебя ждал. Твои уроки - одни из лучших уроков по Java на ютубе. Спасибо.
Пожалуйста :)
Нужно больше -золота- уроков! Ждем новые серии! =)
Пушка бомба, я смотрю на одно дыхании) Спасибо тебе)
Спасибо за такое понятно обучение, лучше твоих видосов, не встречала.
Спасибо за видео урок, обычно все content maker'ы просят оставлять комментарии под видео в качестве благодарности буду это делать под каждым видео урок 👊 продолжай дальше
Спасибо, человечище. Отличные и очень внятные курсы.
Чудові відео, дякую за інформацію
твое обучение можно смотреть как сериал. а перерыв между сериями - будто это не перерыв между выпусками, а пауза в кино, которую я лично включил. у тебя настолько все плавно переходит из одной темы в другую, что тебе бы позавидовал любой режиссер нетфликса и пожал бы руку продюссер оскороносного фильма.
впервые за долгое комментарий пишу.
Спасибо тебе большое за твой неоценимый труд!!!
Ты очень помогаешь в освоении, без твоих уроков было тяжело!!
самое понятное видео из всего что я пересмотрела! спасибо)
Шикарная подача!!
Отличный курс!!! Красава. Все доступно. ЖдЕЕЕЕЕЕм есЧе.
не совсем понял логику примера на 4:27, ведь try - выброси exception, в противном случае - тоже подать ошибку. Почему когда вписываешь 2 не выводиться то что находиться внутри try а подается то что находиться в catch в данном примере? ведь ты ввёл 2 и логично что дальше условие выполнено и должно сработать то что в теле try
trows не обрабатывает исключения, оно просто пробрасывает его вврех по стеку. По сути компилятор просто игнорирует возможную ошибку в данной программе. На практике, при пробрасывании вверх по стеку, вам необходимо реализовать обработку исключения с помощью try-catch в каком либо из предшествующих методов и предусмотреть варианты решения или обхода критического завершения программы, как это произошло здесь.
Лучше обрабатывать исключения на месте, дабы облегчить читаемость вашего кода
Лучшие уроки.
У меня такой вопрос, когда попытался скопировать ваш код, в бесконечном цикле int x = Integer.parseInt(scanner.nextLine());
По итогу получаю возможность ввести 0 в первый раз, и дальше, после подтверждения и повторного ввода 0, мне выбрасывает NumberFormatException for input string "". Это он перенос строки считает за ввод или что за бред? У вас вроде всё ок, но урок старый, наверное что-то да изменилось, не смог найти ответ в инете, увы
nextLine()?
Отличные уроки)
А можно узнать в каком уроке подробней рассказывается про super ?
в наследовании про это рассказывалось, вызов конструктора предка
Neil A. наоборот это Alien, вот откуда у него знания по джаве
Разве родителем всех исключений не является класс Throwable?? При этом его наследник, класс Exception является родителем всех "проверяемых" checked исключений.
Не думаю.
2:08 в самом видео видно, что в документации написано Exception extends Throwable
Наконец-то. Даже голос поменялся.
Скажите пожалуйста, а зачем нужна эта конструкция? Почему нельзя обойтись обычной валидацией с помощью if/else?
Dima Petrashchuk Так решили разработчики Java. Так удобнее. Каждое исключение - уже готовый класс. А при отсутствии исключений вам бы приходилось писать исключение самому в отдельном файле/классе и затем подключать его.
@@dmitriy_pavlovskiy понятно. Спасибо за ответ.
очень хороший урок!
спасибо
Почему вы в конце видео при переопределении унаследованного конструктора класса Exception не сохранили начальную сигнатуру конструктора? Вы ведь можете добавить или изменить функциональность конструктора, но имя конструктора и имя аргумента родительского класса должны были сохранить!
Мы так скоро все экспертами станем)
Спасибо!
А что за магия с открытием класса Exeption?! Это так любой класс можно открыть и посмотреть его код?
Про SUPER ранее вроде не разьяснялось!
В наследовании об этом было. Вызов конструктора родителя.
Спасибо, чувачёк =)
А почему автор говорит что родитель всех исключений это class Exception. Разве это не класс Throwable?
Все верно Throwable родитель Exception и Error. Класс Ехception используется для описания исключительных ситуации, которые должны перехватываться программным кодом пользователя. Класс Error предназначен для описания исключительных ситуаций, которые при обычных условиях не должны перехватываться в пользовательской программе.
Огромное спасибо!!!!
Все отлично
не понял как выбрать что именно нам подходит из перечня всех эксепшенов на сайте. Как выбрать..по какому принципу
на сайте нет сортировки по каким-либо параметрам. Проще ввести в поиске "исключения в Java при вводе-выводе, работе с файлами и т.д". В таком случае Вы получите более конкретный ответ
Почему ты не используешь scanner.nextInt()?
Хз
Благодарю!
:)
скажите пожалуйста чем отличается java от java андройд ...что нужно знать чтобы делать приложения для андроид?
java надо знать и хмл структуру, код для андроида пишется на java.
спасибо!
Спасибо за урок! Не ясно как понять какое из исключений нужно выбирать?
Создавай свое.
@@chechen_nokhcho я ответил, чтобы другие люди, у которых такая же проблема увидили мой коммент, и поняли, что надо делать
на сайте нет сортировки по каким-либо параметрам. Проще ввести в поиске "исключения в Java при вводе-выводе, работе с файлами и т.д". В таком случае Вы получите более конкретный ответ
@@danilhablak7050 Спасибо тебе за активность, всегда радуют люди(не выскочки и зазнайки), которые знают как объяснить! Вот скажи, пожалуйста, я правильно понял, блок try, catch позволяет программе работать дальше, а оператор throw, останавливает ее?
@@DolphinArtem throw выбрасывает исключение, если мы хотим его обработать его нужно помещать в try{}, затем в catch оно поймается(обработается), если хотим объявить, но не обрабатывать, то используем ключевое слово throws после параметров метода перед началом его тела {}.
Неужели строка "int x = Integer.parseInt(scanner.nextLine());" здесь более уместна, чем "int x = scanner.nextInt();"?
Я чего-то не понимаю?
scanner.nextInt() лучше вообще не использовать. Он не учитывает знак переноса строки. Из-за этого иногда возникают проблемы.
как по мне, лучше вовсе не использовать scanner. В Java прекрасно можно реализовать считывание текста используя конструкцию InputStreamReader, обернув его в BufferedReader
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = reader.readLine();
int number = Integer.parseInt(reader.readLine());
@@danilhablak7050 Зачем так усложнять? Какие от этого преимущества?!
@@Дмитрий-ц5ш5ъ Они есть точно, я тоже смотрю, что Scanner нигде не используют...
ооо, у меня тоже такой вопрос возник. Спасибо всем за разъяснения.
не совсем понял зачем кидать исключение , чтобы ловить его самому? , в чём смысл
если ты просто делаешь какой-то запрос к базе, чтение из файла и т.д., то в случае ошибок, твоя программа "встанет раком", просто выскочит, как в windows critical error и программа закроется или зависнет, а так у тебя просто выскочит ошибка, но программа будет работать.
int a = sc.nextInt();
а ты хацкер спалился
Добрый день! Смотрю постоянно ваши уроки всё очень понятно и хорошая подача материала, огромное спасибо за вашу работу! Но сегодня столкнулся с такой проблемкой , когда попытался скопировать ваш код, в бесконечном цикле int x = Integer.parseInt(scanner.nextLine()); могу ввести 0 два раза и дальше, мне выбрасывает Exception in thread "main" java.lang.NumberFormatException: For input string: "" На дебаге я проверил первый ноль считывает как положено, второй
ноль просто как пустую строку как будто я ничего не вводил вообще! Не подскажете что может быть? Спасибо!