Results 1 to 8 of 8
- 12-30-2010, 10:22 AM #1
Senior Member
- Join Date
- Dec 2010
- Location
- The Hague
- Posts
- 114
- Rep Power
- 0
catch the number format exception, where to place try
I have a gui in the view package which has the functionality of a mini calculator. Beside of that in the model package i have a Calculator class
It works but when i enter a string in number1Textfield i get a NumberFormatException. Thats correct because i want to insert a try/catch statement, but when i insert it, it doens't catch the fault
I think i have to insert the try catch where i work with number1 and number2.
but i have tried it now on three places, but i won't work, i still get the exception:
Class:
Java Code:/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package model; import javax.swing.JOptionPane; /** * * @author Andre */ public class Calculator { private int number1; private int number2; private int sum; private int mod; private int multi; public Calculator(){ } public int setNumber1(int _number1) { try { this.number1 = _number1; } catch (NullPointerException e) { JOptionPane.showMessageDialog(null, "test" + e.getMessage()); } return number1; } public int setNumber2(int _number2) { try { this.number2 = _number2; } catch (NullPointerException e) { JOptionPane.showMessageDialog(null, "test" + e.getMessage()); } return number2; } public int setSum() { try{ this.sum = setNumber1(number1) + setNumber2(number2); } catch (NullPointerException e) { JOptionPane.showMessageDialog(null, "test" + e.getMessage()); } return sum; } public int setModulo() { this.mod = setNumber1(number1) % setNumber2(number2); return mod; } public int setMultiply() { this.multi = setNumber1(number1) * setNumber2(number2); return multi; } public String getSum() { setSum(); String strSum = Integer.toString(mod); return strSum; } public String getMod() { setModulo(); String modulo = Integer.toString(mod); return modulo; } public String getMulti() { setMultiply(); String multiply = Integer.toString(multi); return multiply; } }
Form code
I don't want the try and catch block in the view (gui) because i work via the model/view model.Java Code:private void sumButtonActionPerformed(java.awt.event.ActionEvent evt) { int number1 = Integer.parseInt(number1TextField.getText()); rekenen.setNumber1(number1); int number2 = Integer.parseInt(number2TextField.getText()); rekenen.setNumber2(number2); answerTextField.setText(rekenen.getSum()); } private void modulusButtonActionPerformed(java.awt.event.ActionEvent evt) { answerTextField.setText(rekenen.getMod()); } private void multiplyButtonActionPerformed(java.awt.event.ActionEvent evt) { answerTextField.setText(rekenen.getMulti()); }
- 12-30-2010, 12:03 PM #2
Senior Member
- Join Date
- Dec 2010
- Location
- The Hague
- Posts
- 114
- Rep Power
- 0
I have changed this Nullpointer exception to NumberFormatException.
And setters don't have a return value so that i changed to.
- 12-30-2010, 01:05 PM #3
- Join Date
- Dec 2010
- Location
- Stockholm, Sweden
- Posts
- 222
- Blog Entries
- 9
- Rep Power
- 3
Will not throw any exception, you are just assigning a 'int' variable with a 'int' value.Java Code:this.number1 = _number1;
So
will neither throw any exception.Java Code:this.sum = setNumber1(number1) + setNumber2(number2);
But
will throw NumberFormatException if the String does not contain a parsable int.Java Code:int number2 = Integer.parseInt(number2TextField.getText());
By the way you can rename _number1 to number1:
your _number1 will then be accessed by typing number1 and this.number1 till be access by this.number1.Java Code:public int setNumber1(int number1) { this.number1 = number1; //[---] }Ex animo! Hibernate
Java, Arch Linux, C, GPL v3, Bash, Eclipse, Linux VT, GNOME 2 and many buttons on windows.
- 12-30-2010, 01:24 PM #4
Senior Member
- Join Date
- Dec 2010
- Location
- The Hague
- Posts
- 114
- Rep Power
- 0
Hi Hybernate,
But this is code behind my gui (view controller).
How do i catch this exception? Because i cannot use try/catch in my view controller (design code behind gui) if i stand by the MVC concept.
Kind regards,
André
- 12-30-2010, 01:30 PM #5
Senior Member
- Join Date
- Dec 2010
- Location
- The Hague
- Posts
- 114
- Rep Power
- 0
Well i see that in Java you can use the catch behind the gui frame file.
I will try that, because i see in the error your abolutly right about where the exception starts.
- 12-30-2010, 01:31 PM #6
- Join Date
- Dec 2010
- Location
- Stockholm, Sweden
- Posts
- 222
- Blog Entries
- 9
- Rep Power
- 3
If you do not what to catch exceptions in your listeners, you can
catch them where you wrote the in your submitted code, pass the
raw (String) input data to them and parse there instead of in the listeners.Ex animo! Hibernate
Java, Arch Linux, C, GPL v3, Bash, Eclipse, Linux VT, GNOME 2 and many buttons on windows.
- 12-30-2010, 01:41 PM #7
Senior Member
- Join Date
- Dec 2010
- Location
- The Hague
- Posts
- 114
- Rep Power
- 0
It works, thanks Hybernate
- 12-30-2010, 01:42 PM #8
Senior Member
- Join Date
- Dec 2010
- Location
- The Hague
- Posts
- 114
- Rep Power
- 0
Similar Threads
-
try catch exception
By soxfan714 in forum New To JavaReplies: 3Last Post: 05-05-2011, 11:11 AM -
How to change number format of a field programmatically in Jasper?
By newbiejava in forum New To JavaReplies: 16Last Post: 09-04-2010, 04:03 AM -
Date format exception
By chaudhas in forum New To JavaReplies: 7Last Post: 06-25-2010, 09:31 AM -
Why can't I catch an exception?
By glhansen in forum New To JavaReplies: 5Last Post: 03-17-2009, 06:48 PM -
how to catch two exceptions in one catch()?
By arnab321 in forum New To JavaReplies: 1Last Post: 11-06-2008, 10:54 AM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks