Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Исключения не работают 
:(
    Опции темы
Golovastik
Дата 9.12.2010, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: 1
Всего: 0



НЕ получается создать своё собственное исключение.

Создал. Пробую экспериментировать, программа не срабатывает. Выдаёт ошибку:

Код

run:
Exception in thread "main" java.lang.ArithmeticException: / by zero
        at javaapplication3.Main.main(Main.java:16)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)




Вот код:
Код

package javaapplication3;
class My extends ArithmeticException{
   public void poka() throws My{
       throw new My(); 
   }
}




public class Main {
    public static void main(String[] args) {
     try
    {

        int m = 5/0;
    }
  catch(My e) {
      System.out.println("Программа выдала исключение");
       }
     }
    
}




Это сообщение отредактировал(а) Golovastik - 9.12.2010, 03:25
PM MAIL   Вверх
techmax
Дата 9.12.2010, 04:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 5.9.2007
Где: Красноярск

Репутация: 2
Всего: 2



ну как раз работают. Просто не перехватывается в блоке. исползуй
 
Код

try{
 int m = 5/0;
} catch(java.lang.ArithmeticException у){
...}.
  
или 
 
Код

try{
 int m = 5/0;
} catch(java.lang.ArithmeticException у){
 throw new My(); 
}.
  
если нужно передать своё
PM MAIL Skype   Вверх
Skipy
Дата 9.12.2010, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: 6
Всего: 16



Цитата(Golovastik @ 9.12.2010,  03:24)
НЕ получается создать своё собственное исключение.

Создал. Пробую экспериментировать, программа не срабатывает.

Покажите место, где Вы его выбрасываете.


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
Nofate
Дата 9.12.2010, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 266
Регистрация: 13.10.2008

Репутация: 4
Всего: 8



То что вы унаследовались от ArithmeticException вовсе не  значит, что JVM сама будет использовать ваше исключение вместо оригинала. Вы сами должны написать код, который будет его бросать.


--------------------
The future is not set, there is no fate but what we make for ourselves.
Нофейтово пространство и смежные области 
PM MAIL WWW ICQ   Вверх
Golovastik
Дата 11.12.2010, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: 1
Всего: 0



Попробовал написать своё исключение ,чего-то не хочет срабатывать мой блок исключения, а когда подсвечиваю в нетбинсе на финали, выдаёт по англ. что этот финал бессмысленный, а как тогда правильно?
Код

package javaapplication3;

class MyException extends Exception{
public String toString(){
return "Вы ошиблись маленько! ";
}
}


class A {
 static void f()throws MyException{ int d = 5/0;}
}

public class Main {
   public static void main(String[] args) {
      try{
        A.f();
      }catch(MyException e)
      {
            System.out.println(e.toString());
      }
   finally{  System.out.println("Всё отлично!");};

   }
}




PM MAIL   Вверх
Golovastik
Дата 11.12.2010, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: 1
Всего: 0



Нужно создать своё исключение для масива.
Я создал, но получилось  что это не моё собственное исключение,а мне нужно моё,  и второе исключение у меня выдаёт только одно из кетчей, а мне нужно два кетча чтоб выдавло так как у меня 2 ошибки.
Скажите, как исправить мой код, вот как написал.

Код

package javaapplication3;
class MyException extends ArithmeticException {
    MyException(String s) {
        super(s);
    }
}


class A {
    static void f() {
        try {
            int d = 5/0;
        } catch (Exception e) {
            throw new MyException(Main.MESSAGE_EXCEPTION);
        }
    }
}

public class Main {
    public static final String MESSAGE_EXCEPTION = "Вы ошиблись маленько!";
        public static final String M = "Такого элемента массива не существует!";
    public static void main(String[] args) {  
        try{
            int masiv[]={1,2,3};
            masiv[41] = 52;
            A.f();
            int p = 2/0;
            if (p == 0) {
                throw new MyException(MESSAGE_EXCEPTION);
            }
           
        } catch(MyException e) {
            System.out.println(e.getMessage());
        }
        catch(ArrayIndexOutOfBoundsException e)
        {
            System.out.println("Не существуют такого индекса массива!");
        }
        finally {
            System.out.println("Всё отлично!");
        };

    }
}

PM MAIL   Вверх
Sibit
Дата 13.12.2010, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 6.10.2009
Где: NSK

Репутация: нет
Всего: 1



А как это должно работать? В последнем примере все работает нормально.

Или нужно что бы оба исключения срабатывали? Это, ИМХО, исключениями никак только самому проверять условия.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0449 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.