Проблема с исключениями

Тема в разделе "Java", создана пользователем 4ydo, 10 мар 2010.

  1. 4ydo

    4ydo Гость

    <!--shcode--><pre><code class='java'>import java.applet.Applet;
    import java.awt.Button;
    import java.awt.Graphics;
    import java.awt.Label;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;


    public class Interface extends Applet implements ActionListener {
    static String f;
    static int x1,x2,y1,y2;
    private Button btCreate, btClear;
    private Label l,lx1,lx2,ly1,ly2, l3;
    public static TextField tf;
    private TextField tfx1, tfx2, tfy1, tfy2;
    public void paint(Graphics g) {
    g.drawLine(4, 3, 496, 3);
    g.drawLine(4,3,4,496);
    g.drawLine(4, 496, 496, 496);
    g.drawLine(496,3,496,496);
    g.drawLine(4, 85, 496, 85);
    }
    public void init(){
    l = new Label ("Функция:");
    add(l);
    tf = new TextField (55);
    add(tf);
    lx1= new Label ("x1:");
    add (lx1);
    tfx1 = new TextField (3);
    add(tfx1);
    lx2= new Label ("x2:");
    add (lx2);
    tfx2 = new TextField (3);
    add(tfx2);
    ly1= new Label ("y1:");
    add (ly1);
    tfy1 = new TextField (3);
    add(tfy1);
    ly2= new Label ("y2:");
    add (ly2);
    tfy2 = new TextField (3);
    add(tfy2);

    btCreate = new Button ("Построить");
    add(btCreate);
    btCreate.addActionListener(this);
    btClear = new Button ("Очистить");
    add(btClear);
    btClear.addActionListener(this);
    l3=new Label("Пожалуйста, ведите функцию и размеры осей.");
    add(l3);

    }
    public void actionPerformed (ActionEvent ae){

    Object sourse = ae.getSource();
    if (sourse == btCreate){
    if(tf.getText().equals("")){
    l3.setText("Ошибка! Функция не введена.");

    }
    else
    if (tfx1.getText().equals("") ||tfx2.getText().equals("") ||tfy1.getText().equals("") ||tfy2.getText().equals("")){
    l3.setText("Ошибка! Не введены размеры осей.");
    }
    else{
    f=tf.getText();
    try {
    x1 = Integer.parseInt(tfx1.getText());
    x2 = Integer.parseInt(tfx2.getText());
    y1 = Integer.parseInt(tfy1.getText());
    y2 = Integer.parseInt(tfy2.getText());

    throw new NumberFormatException ();
    }
    catch (NumberFormatException e){
    l3.setText("Не правильно введены оси.");
    }
    if (x1>=x2){
    l3.setText("Ошибка! x1 должен быть меньше x2.");

    }
    else {
    if (y1>=y2){
    l3.setText("Ошибка! y1 должен быть меньше y2.");

    }

    }
    }


    }


    else
    if (sourse==btClear){
    clear();
    }

    }
    public void clear (){
    l3.setText("Пожалуйста, ведите функцию и размеры осей.");
    tf.setText("");
    tfx1.setText("");
    tfx2.setText("");
    tfy1.setText("");
    tfy2.setText("");
    }
    }[/CODE]

    не могу разобраться в чем дело.пока формат поля функции меня не очень интересует. а вот когда вводишь в поле x1 число -10 исключение опять бросается. это проблема в методе x1 = Integer.parseInt(tfx1.getText()) (нельзя с отрицательными)? если да то как исправить.
     
  2. LuMee

    LuMee Well-Known Member

    Регистрация:
    2 май 2006
    Сообщения:
    477
    Симпатии:
    0
    Рискну предположить, что проблема в строке:
    Код (Text):
    throw new NumberFormatException ();
    которая и выбрасывает исключение независимо от введенных данных.
     
  3. jCoder

    jCoder Гость

    Скорее всего, конструкции вида:

    throw new NumberFormatException()

    нужно связывать вместе с конструкцией проверки условия: if(). В противном случае, может возникнуть ошибка времени исполнения.

    На мой взгляд, лучше

    if(условие_возникновения_исключения)
    throw new NumberFormatException();
     
Загрузка...
Похожие Темы - Проблема исключениями
  1. AgniXRudra
    Ответов:
    2
    Просмотров:
    46
  2. Zloikaktus
    Ответов:
    0
    Просмотров:
    27
  3. c0de3r
    Ответов:
    5
    Просмотров:
    151
  4. DobermannTT
    Ответов:
    10
    Просмотров:
    157
  5. SoulPaladin
    Ответов:
    4
    Просмотров:
    143

Поделиться этой страницей