.
Java для чайников. Урок 25. Создание своих классов исключений.
Автор megabax   
27.06.2014 г.
В этой статье я постараюсь максимально просто и понятно изложить основы программирования на языке Delphi

Java для чайников. Урок 25. Создание своих классов исключений.

На прошлом уроке мы изучали исключение ArithmeticException. Сегодня создадим свой класс исключений. Предположим, перед нами стоит задача сложить два числа в диапазон от 10 до 20, при чем нужно, что бы программа не давала пользователю ввести числа, выходящие за этот диапазон. Для этой цели мы создадим класс исключений NumberRangeExeption, и будем возбуждать исключение данного класса, если пользователь ввел не те числа. вот полный текст программы:

 

import java.awt.*;

import java.applet.*;

 

class NumberRangeExeption extends Exception

{

    public NumberRangeExeption(String msg)

    {

        super(msg);

    }

}  

 

public class MyExeption extends Applet {

   

    TextField textField1,textField2;

    String answerStr;

   

    public void init()  {

        textField1=new TextField(20);

        add(textField1);

        textField2=new TextField(20);

        add(textField2);

        answerStr="Неопределено";

        resize(500,200);

    }

   

    public void paint(Graphics g) {

        Font font = new Font("TimesRoman",Font.PLAIN,24);

        g.setFont(font);

        g.drawString("Введите числа в диапазон от ",40,70);

        g.drawString("10 до 20 ",70,90);

        g.drawString("Результат ",40,130);

        g.drawString(answerStr,70,150);

    }  

 

    public boolean action(Event evt, Object arg) {

        try

        {

            int answer=CalcAnswer();

            answerStr=String.valueOf(answer);

        }

        catch (NumberRangeExeption e)

        {

            answerStr=e.getMessage();

        }

        repaint();

        return true;

    }

   

    public int CalcAnswer() throws NumberRangeExeption

    {

        int int1, int2;

        int answer=-1;

        String str1=textField1.getText();

        String str2=textField2.getText();

        try

        {

            int1=Integer.parseInt(str1);

            int2=Integer.parseInt(str2);

            if((int1<10) || (int1>20) || (int2<10) ||(int2>20))

            {

                NumberRangeExeption e=new NumberRangeExeption("Числа вышли за диапазон");

                throw e;

            }

            answer=int1+int2;

        }

        catch (NumberFormatException e)

        {

            answerStr=e.toString();

        }

        return answer;

    }

   

 

   

}

 

Проверим программу:

 

Java для чайников. Урок 25. Создание своих классов исключений.

 

Если мы введем не те числа, то программа сообщит об этом:

Java для чайников. Урок 25. Создание своих классов исключений.

 

 

(С) Шуравин Александр

 

 

Последнее обновление ( 27.06.2014 г. )