|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
||||||
Как организовать исключение ввода-вывода в примере программы?19.06.2019, 10:08. Показов 4841. Ответов 16
Метки нет (Все метки)
В учебнике «Шилдт Г. - Java 8. Руководство для начинающих», в главе 9 , разделе «Использование ключевого слова throws» приводится пример программы:
Как не пыталась, так и не смогла найти такую клавишу, нажатие на которую сгенерировало бы исключение. Но раз пример приводится, значит должен быть способ. Подскажите, пожалуйста, кто знает как в результате работы этого кода можно увидеть в консоли «Произошло исключение ввода-вывода! Вы нажали клавишу Х».
0
|
||||||
| 19.06.2019, 10:08 | |
|
Ответы с готовыми решениями:
16
Реализовать программу файлового ввода-вывода на примере программы A+B. Нюансы ввода/вывода: как правильно организовать ввод строки с пробелами? Исключение ввода/вывода |
|
|
|
| 19.06.2019, 10:26 | |
|
Исключение вылетает тогда, когда возникает ошибка ввода-вывода. Именно ошибка, т.е. процесс чтения мог прерваться, например, либо што-нибудь исчо, но если вы просто вводите какой-либо символ, то всё происходит именно так, как должно происходить
1
|
|
|
Заблокирован
|
|
| 19.06.2019, 10:41 | |
|
alicesmagic3d, можно использовать универсальное исключения Exception, оно будет любые ошибки ловить. Исключения происходят при необычных операциях или данных.
На основе этого универсального исключения можно сделать такую программу, в которой вообще не потребуется использовать другие try catch, просто будет глобальный Exception уловитель для всей программы. Добавлено через 9 минут alicesmagic3d, а в вашей программе исключение не будет происходить даже если пустое значение ввести.
1
|
|
|
Заблокирован
|
|
| 19.06.2019, 10:51 | |
|
Gungala, это само собой, но при опреленных условиях можно сделать все так, что работать нормально будет. Все зависит от самого программиста.)
0
|
|
|
Автоматизируй это!
|
||
| 19.06.2019, 10:57 | ||
Сообщение было отмечено alicesmagic3d как решение
Решение
2
|
||
|
|
|
| 19.06.2019, 11:04 | |
|
Welemir1, так вот в чём прикол. А я чёт открыл документацию, вижу, что метод абстрактный и не могу понять, почему он тогда throws IOException
Добавлено через 2 минуты trgbvs, мне всё-таки кажется, что делать блок catch с простым Exception — эт прост халтура
1
|
|
|
Заблокирован
|
|
| 19.06.2019, 11:13 | |
|
Gungala, возможно и халтура, но благодаря этой халтуре я экономлю по сотне строк кода, программы получаются простые и быстрочитаемые и главное- все работает. Для меня главное- красивый и сверхпростой код, возможно это результат опыта, а возможно и то, что я просто горе-программист с 12 летним опытом, хотя конечно мне не важно мнение окружающих, я привык делать под себя, так проще. )
0
|
|
|
Заблокирован
|
|
| 19.06.2019, 11:18 | |
|
Welemir1, это всего-лишь мое мнение. А в командах не работал, мозги забивают конкретно. Видел также код многих программистов, которые писали код новичкам, но к сожалению не смог прочитать из-за большого числа лишнего кода. Хотя конечно встречался и с красивым кодом, но это не так часто, банально спешат люди и нет времени на рефакторинг, вот и имеем, что имеем.
0
|
|
|
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
|
|
| 19.06.2019, 11:21 [ТС] | |
|
Мудрено, но в целом понятно
Спасибо большое всем!!!
0
|
|
|
Автоматизируй это!
|
||
| 19.06.2019, 11:22 | ||
![]() есть у меня определенные подозрения, учитывая, что в большинстве случаев правильнее перехватывать именно конкретное исключение, а не все подряд.
0
|
||
|
Заблокирован
|
|
| 19.06.2019, 11:31 | |
|
Welemir1, код просто так никому не даю, меня нету ни в каких гитхабах и т.п. модных сайтах, поэтому считайте, что я новичок-середнячок в программировании. Так спокойнее будет и для меня и для вас. )
Добавлено через 5 минут Welemir1, исключения надо перехватывать- с этим согласен. Просто бывает такое, что можно обойтись и меньшим количеством, избавив код от лишних конструкций, тем более try catch усложняют читаемость кода. Возможно я говорю, как вообще не знакомый с программированием человек, но прикол в том, что программу можно упростить очень сильно, причем она будет выглядеть нестандартно, но в тоже время очень просто, таким образом ее очень просто можно будет читать и модифицировать. Добавлено через 2 минуты Welemir1, я видел много проектов, в которых по 60-100кб кода, а потом сам пробовал делать и получалось, что элегантный код весит не более 5кб. Вот такая магия происходит, если уметь упрощать код и делать его читаемым. Это очень трудно, но поверьте, игра стоит свечь.
0
|
|
|
Автоматизируй это!
|
|||
| 19.06.2019, 11:37 | |||
|
trgbvs, странный ты человек, все о каких то высоких материях толкуешь, так покажи - покажи красивый, простой, читаемый код для задачи сложнее "Привет, мир!", а то пока выглядит как реклама. Раз уж сам утверждаешь что тебе удается такой писать.
0
|
|||
|
Заблокирован
|
|
| 19.06.2019, 11:38 | |
|
Welemir1, в некоторых программах можно перехватывать все подряд. Я в своих проектах много раз так делал, главное, что это работает, а не то, как к этому относится большинство.
0
|
|
| 19.06.2019, 11:45 | |
|
0
|
|
|
Заблокирован
|
|
| 19.06.2019, 11:48 | |
|
xoraxax, спасибо большое, вы умеете похвалить человека. Успехов вам!
Добавлено через 38 секунд Welemir1, спасибо за уважительный и конструктивный диалог.
0
|
|
| 19.06.2019, 11:48 | |
|
Помогаю со студенческими работами здесь
17
Можно ли организовать перенаправление ввода-вывода в JavaScript? Подскажите,как составить код для написание программы ввода 16ти значного числа и вывода Как перехватить поток ввода-вывода одной программы через другую (межпроцессорного обмена данными)?
База данных. Ошибка при подключении "Исключение ввода/вывода" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|