Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2017, 19:29   #1
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
Вопрос зачем в данном случае использовалась throws Exception

Код:
package com.company;

public class Main {

    public static void main(String[] args) throws Exception {
        System.out.println(min(1, 2, 3));
        System.out.println(min(-1, -2, -3));
        System.out.println(min(3, 5, 3));
        System.out.println(min(10, 5, 10));
    }

    public static int min (int a, int b, int c) {
        int m;
        if (a<b && a<c)
            m=a;
        else if (b<a && b<c)
            m=b;
        else m=c;
        return m;

}
}
объясните не пальцах её значение? а то не много не понятно... когда я стёр throws Exception ничего не изменилось программа также выполнилась. погуглил там рассказывается про какие то исключительные ситуации и ошибки, разьясните для тупых
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 19:38   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Либо результат ленивого копипаста, либо автор сам не в курсе зачем оно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.08.2017, 21:36   #3
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

Код:
package com.javarush.task.task02.task0216;

/* 
Минимум трёх чисел
*/
public class Solution {
    public static int min(int a, int b, int c) {
        int m;
        if (a<b && a<c)
        m=a;
        else if (b<a && b<c)
        m=b;
        else m=c;
        return m;
    }

    public static void main(String[] args) throws Exception {
        System.out.println(min(1, 2, 3));
        System.out.println(min(-1, -2, -3));
        System.out.println(min(3, 5, 3));
        System.out.println(min(10, 5, 10));
    }

}
а может если функция майн пишется в конце то тогда ставится throws Exception?
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 21:36   #4
Alexmur07
Форумчанин
 
Регистрация: 20.11.2008
Сообщений: 121
По умолчанию

на что она должна влиять эта команда ?
Разгон – вещь не определённая,
по этому конечный результат зависит от конкретного чипа (CPU или GPU а также моста), качества охлаждения и везения.
Alexmur07 вне форума Ответить с цитированием
Старый 28.08.2017, 21:56   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В гугле забанили что ли? Почитайте про исключения (exceptions) и checked/unchecked exceptions.

Второе это фича Java (со спорной полезностью): некоторые типы исключений в Java нельзя "пропускать" (то есть ничего не делать разрешая им просто распространяться дальше наружу), надо либо поймать (try-catch), либо добавить throws тип_исключения (Exception это базовый класс всех исключений) в метод чтоб разрешить пропускать их наружу.

В данном коде исключение не может возникнуть, поэтому ни на что не влияет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 28.08.2017 в 21:59.
Alex11223 вне форума Ответить с цитированием
Старый 24.12.2017, 19:30   #6
sameuser
Пользователь
 
Регистрация: 22.12.2016
Сообщений: 22
По умолчанию

Привет! Решил не поднимать новую тему, спрошу здесь.
Допустим, пишем мы что-нибудь по сокетам..

Код:
public class Main
{
    static final int port = 44444;

    public static void main(String[] args) throws IOException
    {
        ServerSocket servSock = new ServerSocket(port);
        System.out.println("Server Started at port: " + port);

        while (true)
        {
            Socket socket = servSock.accept();          // Ждем новое подключение
            System.out.println("New client connected.");

            new ServerSingle(socket);   // Запускаем отдельный поток на обработку
        }
    }
}
Подобный код может выбрасывать множество исключений..
Поправьте, если ошибся. Или дополните Хотел проверить свое понимание обработки исключений.

Поимка и обработка исключений может быть выполнена 2 способами:

а) мы можем один раз указать, например, throws Exception напротив какого-либо метода или группы строчек кода и весь остальной код писать как есть
б) мы можем каждый раз оборачивать блоком try\catch именно тот код, который может бросить исключение ( например, 1 строку: ServerSocket servSock = new ServerSocket(port); )

В первом случае удобство в том, что не нужно подробно вникать в виды исключений, экономится время. Но при возникновении исключения, если у нас программа уже где-то используется, до конечного пользователя трудно будет донести суть этой ошибки.. Мы можем вывести ему "что-то пошло не так" и дополнить это с помощью e.printStackTrace();

А во втором случае мы можем точнее сказать, где и что произошло - таймаут, например. Этот способ может предоставить больше полезной информации пользователю программы, с ним легче будет искать и понимать ошибки на стороне разработчика.
sameuser вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребята помогите определить что использовалась на данном сайте. Ledtaet Общие вопросы Web 2 05.06.2017 09:25
Что в данном случае является компонентом Lama Under Cover Общие вопросы по Java, Java SE, Kotlin 0 05.12.2016 18:04
Правильно ли я экранирую переменную js в данном случае? Illusiony PHP 1 25.04.2016 20:27
нужен ли RAII в данном случае pproger Общие вопросы C/C++ 3 01.12.2012 20:15
Непонятно: зачем делать декларацию функции в данном случае? Oleg_SK Общие вопросы C/C++ 0 17.07.2010 09:36