Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
 Аватар для alicesmagic
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875

Нужно ли использовать здесь оператор throws (пример кода)

21.06.2019, 13:15. Показов 3840. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В учебнике «Шилдт Г. - Java 8. Руководство для начинающих», в главе 10 , разделе «Запись в файл» приводится пример программы:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.io.*;
class CopyFile {
    public static void main(String[] args) throws IOException {
        int i;
        FileInputStream fin = null;
        FileOutputStream fout = null;
        
        if(args.length != 2) {
            System.out.println("Использование: CopyFile откуда куда");
            return;
        }
        try {
            fin = new FileInputStream(args[0]);
            fout = new FileOutputStream(args[1]);
            do {
            i = fin.read();
            if(i != -1) fout.write(i);
            } while(i != -1);
        }
        catch (IOException exc) {
            System.out.println("Ошибка ввода-вывода: " + exc);
        }
        finally {
            try {
                if(fin != null) fin.close();
            }
            catch (IOException exc) {
                System.out.println("Ошибка при закрытии первого файла!");
            }
            try {
                if(fout != null) fout.close();
            }
            catch (IOException exc) {
                System.out.println("Ошибка при закрытии второго файла!");
            }
        }
    }
}
В коде используется оператор throws. В 9-й главе учебника сказано, что оператор throws применяется в случае, когда исключения обрабатываются за пределами метода.
В данном коде исключения обрабатываются внутри метода main. Подскажите, пожалуйста, почему оператор throws присутствует в объявлении метода? Он здесь лишний, или есть другие причины его присутствия?
Я попробовала убрать оператор. Ошибки не возникло.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.06.2019, 13:15
Ответы с готовыми решениями:

Оператор throws
Прочитал что его не надо писать если метод выбрасывает только RuntimeException(и его ветку) и Error. Но если например метод выбрасывает...

Нужно ли здесь использовать наследование?
Например, у нас есть класс нашего игрового персонажа class Person { //... //поля отвечающие за его характеристики,...

несложная задачка. нужно использовать записи и оператор with
Известны оценки каждого из 22 учеников класса по четырем предметам. Определить фамилию одного из учеников имеющего максимальную сумму...

26
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
22.06.2019, 17:30
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от easybudda Посмотреть сообщение
Найдите хоть одного мало-мальски известного человека
uncle bob?
0
22.06.2019, 17:37

Не по теме:

Цитата Сообщение от xoraxax Посмотреть сообщение
uncle bob?
с козырей зашел))

а вообще я например сужу по тому, что много тем именно с упоминанием Шилдта тут на форуме всплывает, хотя это в целом может быть связано с его популярностью. Скажем по Хорстману с ходу не припомню тем (в стиле -пример не работает и т.п.) , хотя он тоже очень популярен и много книг его.

0
86 / 9 / 1
Регистрация: 21.06.2019
Сообщений: 49
22.06.2019, 17:46
Welemir1, книги Шилдта настолько популярны, что не заслуживают критики сидящих здесь(ни моей, ни вашей)
Чтобы критиковать, нам надо самим написать книгу ;-)
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
22.06.2019, 18:10
Цитата Сообщение от Welemir1 Посмотреть сообщение
Скажем по Хорстману с ходу не припомню тем
Ну, мне кажется, что книги Хорстмана больше ориентированы на людей, более-менее знакомых с программированием, поэтому новички просто бросают его на первых главах. А так, и он не без греха. Я читаю в данный момент последнее издание "Библиотеки профессионала" и там оч много нерабочих ссылок. Ещё Хорстман оформляет код так, как это делают люди, пишущие на С++. Ерунда, конечно, но потом бывают такие ситуации, когда ты выкладываешь код на какой-нибудь форум, шоб тебе помогли, и начинается: "Что за оформление такое? Отформатируй, потом посмотрим". Также многие моменты бывает сложно понять, т.е. может быть какой-то пример, демонстрирующий возможность определённых механизмов языка и ты вроде понимаешь как именно работает этот механизм, но не понимаешь принцип работы алгоритма, в котором он используется, поэтому приходится сидеть и думать. А ещё битовые операции... ох, в 2013 я бросил изучение С++ из-за того, что не мог понять битовые операции и когда в книге Хорстмана пошла глава, затрагивающая их, то у меня чуть сердце не остановилось, я подумал: "Неужели опять?". Ну и да, собсна, он особо не утруждал себя объяснениями, мне пришлось лезть в интернет шоб понять как, что и зачем
Собсна, книг Шилдта я не читал, но недавно на форуме стала появляться одна воинственная особа и из примеров и скриншотов, что она тут выкладывает, я могу заключить, что пусть код Шилдта и выглядит неоч, но он действительно максимально подробно разжёвывает каждую функциональную возможность языка. Впрочем, вряд ли стоит делать подобные заключения, увидев скриншоты пары страниц и несколько примеров из книги
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
22.06.2019, 19:19
Gungala, У меня сложились похожие (на счет глибины и ширины(-темпа нового)) впечатления, хотя я с другой "стороны" (Хорстмана практически не читал). Вот Непонятные ошибки, не компилируется
Но у меня выводы за выбором не "хорошо/плохо" а каждому случаю свое. Никто не спорит что доки лучше всего, но в тоже время никто с них не начинает.
Думаю что ограничиватся одной книгой это плохо. К примеру читаешь какую-то тему, если читается хорошо - молодец, продолжай, если плохо - прочитай это же но с другого места. Если окажется что в другом месте все читается лечге, там и читай. Все субъективно, у каждого свой темп.
1
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
22.06.2019, 21:52
Цитата Сообщение от mjavaxer1990 Посмотреть сообщение
К тому-же авторы книг довольно часто намекают на то, что ошибки способствуют самостоятельному устранению их людьми, читающими книгу, что тоже плюсом можно считать.
Отличная позиция: я сделал херню, ну вы там сами всё поправите. Надеюсь, тебе не разрешают мержить пулл-реквесты.

Не по теме:

Цитата Сообщение от easybudda Посмотреть сообщение
Найдите хоть одного мало-мальски известного человека, которого не облили дерьмом в интернетах.
Кеану Ривз =)



Цитата Сообщение от easybudda Посмотреть сообщение
Для этого ума много не нужно.
Для того, чтобы писать дерьмовые книги, тоже.

Добавлено через 1 минуту
Цитата Сообщение от mjavaxer1990 Посмотреть сообщение
Чтобы критиковать, нам надо самим написать книгу ;-)
Чушь.
1
 Аватар для alicesmagic
233 / 130 / 27
Регистрация: 24.08.2016
Сообщений: 875
25.06.2019, 21:13  [ТС]
Цитата Сообщение от ViktorFX Посмотреть сообщение
К примеру читаешь какую-то тему, если читается хорошо - молодец, продолжай, если плохо - прочитай это же но с другого места. Если окажется что в другом месте все читается легче, там и читай
Вот ровно так я и перешла с Хорстмана на Шилдта
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.06.2019, 21:13

нужно пример кода базы данных который храниться в тхт формате(удаление, изменение и т.д)
желательно на вижуал студио или php

Зачем нужно окаймлять аргумент функции return, что будет возвращать данный оператор, если не использовать скобки?
Очередной привет программистам форума, в процессе работы над своим заданием столкнулся с таким вопросом, на самом деле в заголовке...

При написании кода нужно использовать массивы или множества
Дана непустая последовательность слов из строчных русских букв; между соседними словами – запятая, за последним словом – точка. Напечатать...

нужно найти сумму -1^ + 2^ - 3^ + ... + 10^, где "^" - квадрат. При этом условный оператор не использовать!
Всем привет! Недавно в задачнике откопал задачу на циклы, но знаний не хватило ее решить (задача помечена как усложненная). В общем нужно...

нужно найти сумму -1^ + 2^ - 3^ + . + 10^, где "^" - квадрат. При этом условный оператор не использовать!
нужно найти сумму -1^ + 2^ - 3^ + ... + 10^, где "^" - квадрат. При этом условный оператор не использовать! Как написать полную программу ?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru