41

Re: Чому так? або 100 питань по Java

Перекладаю на Java:

        Object a = null, b = null, c = null, d = null;
        Object vals[] = {a,b,c,d};
        Object nulls[] = new Object[ vals.length ];
        if( Arrays.equals( vals, nulls ) )
          System.out.println("All nulls");
        if( Arrays.asList(vals).contains( null ) )
          System.out.println("At least one null");  

42

Re: Чому так? або 100 питань по Java

А що робить - throws Exception після опису сигнатури метода?

public static void main(String[] args) throws Exception {

отаке бачив просто.

43

Re: Чому так? або 100 питань по Java

Декларує, що функція може пукнути викинути виключну ситуацію.

44

Re: Чому так? або 100 питань по Java

koala написав:

Декларує, що функція може пукнути викинути виключну ситуацію.

і що це дає? навіщо це тре?

45 Востаннє редагувалося VTrim (18.10.2014 17:44:02)

Re: Чому так? або 100 питань по Java

FakiNyan написав:
koala написав:

Декларує, що функція може пукнути викинути виключну ситуацію.

і що це дає? навіщо це тре?

Ексепшени частіше за все використовуються для обробки якихось помилок або виключних ситуацій,при яких потрібно видати повідомлення. Для цього має бути умова,типу if

46

Re: Чому так? або 100 питань по Java

Ви взагалі в курсі, що таке ексепшн?

47

Re: Чому так? або 100 питань по Java

Exception - може не так читаю?:) ви про це?

48

Re: Чому так? або 100 питань по Java

koala написав:

Ви взагалі в курсі, що таке ексепшн?

то ви мені?

49

Re: Чому так? або 100 питань по Java

VTrim написав:
FakiNyan написав:
koala написав:

Декларує, що функція може пукнути викинути виключну ситуацію.

і що це дає? навіщо це тре?

Ексепшени частіше за все використовуються для обробки якихось помилок або виключних ситуацій,при яких потрібно видати повідомлення. Для цього має бути умова,типу if

Мені цікаво, як ви передбачите невідому помилку через if та викличете повідомлення?

50 Востаннє редагувалося VTrim (18.10.2014 21:44:05)

Re: Чому так? або 100 питань по Java

Logans написав:
VTrim написав:
FakiNyan написав:

і що це дає? навіщо це тре?

Ексепшени частіше за все використовуються для обробки якихось помилок або виключних ситуацій,при яких потрібно видати повідомлення. Для цього має бути умова,типу if

Мені цікаво, як ви передбачите невідому помилку через if та викличете повідомлення?

я мав на увазі це... якщо наприклад змінна і == 3,то викинеться виключення з написом "It is 3"

public class Test02 {
    static int doTest() {
        for (int i = 0; i < 10; i++) {
            System.out.println("i = " + i);
            try {
                if (i == 3) {
                    throw new Exception();
                }
            } catch (Exception e) {
                System.out.println("It is 3");
                return i;
            } finally {
                System.out.println("Finally block");
            }
        }
        return -1;
    }
    public static void main(String[] args) {
        System.out.println("doTest() = " + doTest());
    }
}

Або ж саме виключення

public class Test01 {
    static int doTest() throws Exception {
        for (int i = 0; i < 10; i++) {
            System.out.println("i = " + i);
            if (i == 3) {
                throw new Exception();
            }
        }
        return -1;
    }
    public static void main(String[] args) throws Exception {
        System.out.println("doTest() = " + doTest());
    }
}

51

Re: Чому так? або 100 питань по Java

FakiNyan написав:
koala написав:

Ви взагалі в курсі, що таке ексепшн?

то ви мені?

Так, вам. Ви поставили надто загальне питання, і я уточнюю, щоб зрозуміти, якого рівня відповідь треба вам давати.

52

Re: Чому так? або 100 питань по Java

koala написав:
FakiNyan написав:
koala написав:

Ви взагалі в курсі, що таке ексепшн?

то ви мені?

Так, вам. Ви поставили надто загальне питання, і я уточнюю, щоб зрозуміти, якого рівня відповідь треба вам давати.

ну, єкзепшн же перекладається, як виняток, це така штука, котру генерує ОС, коли виникає якась помилка в роботі проги карочє, ну от, як коли я намагався в с++ змінити захищену пам'ять, або очистити вже очищену пам'ять. А ще ми самі можемо генерувати оті виключення, наприклад там,
throw new Exception("message"), наче так.

53

Re: Чому так? або 100 питань по Java

Ну, не зовсім ОС, але не будемо загострювати увагу на цьому; просто виключна ситуація - це, в певному сенсі, один з варіантів значення, що його повертає функція, і в Java є вимога декларувати тип таких значень після ключового слова throws. Якщо ви використовуєте функцію, що може створювати виключні ситуації, то маєте або обробити (спіймати) її, або повідомити, що ваша функція також може кидати таку виключну ситуацію. Ото й все.

Подякували: FakiNyan1

54

Re: Чому так? або 100 питань по Java

koala написав:

Ну, не зовсім ОС, але не будемо загострювати увагу на цьому; просто виключна ситуація - це, в певному сенсі, один з варіантів значення, що його повертає функція, і в Java є вимога декларувати тип таких значень після ключового слова throws. Якщо ви використовуєте функцію, що може створювати виключні ситуації, то маєте або обробити (спіймати) її, або повідомити, що ваша функція також може кидати таку виключну ситуацію. Ото й все.

Аааа, а то я думаю, чого я не можу створити сокет, а його тре було в блок try запихнути, а ще можна було б просто оту штуку задекларувати, виявляється.

55

Re: Чому так? або 100 питань по Java

yarko написав:

Вчора було нарікання на плюси, сьогодні на жабу.
На кого буде завтра?

   нарікати  треба  на  своє невміння (обо небажання) користуватись  підручниками, документацією чи  хоча  би  гуглом (99.9% питань вже  було задано  і  отримана   відповідь)  і  за   кожною  дрібницею  бігти на   форум щоби  розжували  і   в  рот  поклали, опускаючи  тим  самим  рівень  форуму  до  студентської тусовки нецікавої  більш менш  досвідченим  програмістам.

56

Re: Чому так? або 100 питань по Java

Хто зна, що таке той Jboss?
От роздуплююсь з Netty, читаю один туторіал. І там використовуються класи з бібліотеки org.jboss.netty.... ну чи якось так.
А в мене є лише Netty і я юзаю її от так - io.netty....
А шо то за org.jboss і де його брати я хз.
Зайшов на сайтик того JBoss, а вони пропонують качати якісь 200мб-тні чи то редактори, чи то ще шось незрозуміле.

57

Re: Чому так? або 100 питань по Java

FakiNyan написав:
koala написав:

Декларує, що функція може пукнути викинути виключну ситуацію.

і що це дає? навіщо це тре?

для того, щоб Ваша прога не вирубувалась навіть за помилок, а продовжувала працювати- пробувала обробити помилку (видати певні повідомлення користувачу)
не думаю, що юзеру буде приємно, коли прога, у якій він працює при певній помилці тупо вилітає

58

Re: Чому так? або 100 питань по Java

Regen написав:
FakiNyan написав:
koala написав:

Декларує, що функція може пукнути викинути виключну ситуацію.

і що це дає? навіщо це тре?

для того, щоб Ваша прога не вирубувалась навіть за помилок, а продовжувала працювати- пробувала обробити помилку (видати певні повідомлення користувачу)
не думаю, що юзеру буде приємно, коли прога, у якій він працює при певній помилці тупо вилітає

Звісно, юзеру приємніше, коли програма мовчить про помилку. Результати програми стають невірними і немає ніякого способу зрозуміти, що ж ця програма там наобчислювала. Але є результат, так. Приємно.

59

Re: Чому так? або 100 питань по Java

quez написав:
Regen написав:
FakiNyan написав:

і що це дає? навіщо це тре?

для того, щоб Ваша прога не вирубувалась навіть за помилок, а продовжувала працювати- пробувала обробити помилку (видати певні повідомлення користувачу)
не думаю, що юзеру буде приємно, коли прога, у якій він працює при певній помилці тупо вилітає

Звісно, юзеру приємніше, коли програма мовчить про помилку. Результати програми стають невірними і немає ніякого способу зрозуміти, що ж ця програма там наобчислювала. Але є результат, так. Приємно.

будьте такі добрі, читайте уважніше, і уже після цього висловлюйте своє фе)
я думаю ви згодні з тим, що мінімальна обробка помилки або видача зрозумілого користувачу повідомлення про помилку краще, ніж дефолтний printstacktrace()
МОВЧИТЬ з чого ви взяли? цитуватиму сам себе: "пробувала обробити помилку (видати певні повідомлення користувачу)"

P.S. з найкращими побажаннями Regen

60

Re: Чому так? або 100 питань по Java

пацани, брейк!