The major problem I can see is this piece of code :
try { if (num1.getText().length() == 0 || num2.getText().length() == 0) { throw new Exception(); } } catch (Exception ex){ JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE); }
If you throw
inside a try-catch
, you will not exit the function. Since your condition is num1.getText().length() == 0
when you try to do Double.parseDouble(num1.getTest()
well your string is empty so this throw an exception.
You should not use throw
and catch
to manage an error, not in this way. You should first remove the try-catch
and work with a simple if
:
if (num1.getText().isEmpty() || num2.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE);
throw new Exception();
}
I would not suggested that since now you add a complexity to your code.
The method now need to declare
throws Exception
(which is not possible foractionPerformed()
), now the caller need to manage this possible outcome.Exception
would be too generic.I guess that this case would happen a lot,so throwing an
Exception
could become heavy for the program.
The real solution is to only return
from the method. You've already warned the user that he need to do something (you could be more clear) and you don't want to execute the rest of method.
There is some general notion that are lacking in your code, but I won't cover it all, since I mention it in others answer :
There is naming convetions in Java,
b_add
does not follow it, it should bebAdd
(but it could simply beadd
)You should not extend
JFrame
, but rather just have aprivate JFrame
, you're not adding any functionnality toJFrame
you're only using it. (Composition over inheritance) answer that cover a bit that part answer that cover a bit that part
The major problem I can see is this piece of code :
try { if (num1.getText().length() == 0 || num2.getText().length() == 0) { throw new Exception(); } } catch (Exception ex){ JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE); }
If you throw
inside a try-catch
, you will not exit the function. Since your condition is num1.getText().length() == 0
when you try to do Double.parseDouble(num1.getTest()
well your string is empty so this throw an exception.
You should not use throw
and catch
to manage an error, not in this way. You should first remove the try-catch
and work with a simple if
:
if (num1.getText().isEmpty() || num2.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE);
throw new Exception();
}
I would not suggested that since now you add a complexity to your code.
The method now need to declare
throws Exception
(which is not possible foractionPerformed()
), now the caller need to manage this possible outcome.Exception
would be too generic.I guess that this case would happen a lot,so throwing an
Exception
could become heavy for the program.
The real solution is to only return
from the method. You've already warned the user that he need to do something (you could be more clear) and you don't want to execute the rest of method.
There is some general notion that are lacking in your code, but I won't cover it all, since I mention it in others answer :
There is naming convetions in Java,
b_add
does not follow it, it should bebAdd
(but it could simply beadd
)You should not extend
JFrame
, but rather just have aprivate JFrame
, you're not adding any functionnality toJFrame
you're only using it. (Composition over inheritance) answer that cover a bit that part
The major problem I can see is this piece of code :
try { if (num1.getText().length() == 0 || num2.getText().length() == 0) { throw new Exception(); } } catch (Exception ex){ JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE); }
If you throw
inside a try-catch
, you will not exit the function. Since your condition is num1.getText().length() == 0
when you try to do Double.parseDouble(num1.getTest()
well your string is empty so this throw an exception.
You should not use throw
and catch
to manage an error, not in this way. You should first remove the try-catch
and work with a simple if
:
if (num1.getText().isEmpty() || num2.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE);
throw new Exception();
}
I would not suggested that since now you add a complexity to your code.
The method now need to declare
throws Exception
(which is not possible foractionPerformed()
), now the caller need to manage this possible outcome.Exception
would be too generic.I guess that this case would happen a lot,so throwing an
Exception
could become heavy for the program.
The real solution is to only return
from the method. You've already warned the user that he need to do something (you could be more clear) and you don't want to execute the rest of method.
There is some general notion that are lacking in your code, but I won't cover it all, since I mention it in others answer :
There is naming convetions in Java,
b_add
does not follow it, it should bebAdd
(but it could simply beadd
)You should not extend
JFrame
, but rather just have aprivate JFrame
, you're not adding any functionnality toJFrame
you're only using it. (Composition over inheritance) answer that cover a bit that part
The major problem I can see is this piece of code :
try { if (num1.getText().length() == 0 || num2.getText().length() == 0) { throw new Exception(); } } catch (Exception ex){ JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE); }
If you throw
inside a try-catch
, you will not exit the function. Since your condition is num1.getText().length() == 0
when you try to do Double.parseDouble(num1.getTest()
well your string is empty so this throw an exception.
You should not use throw
and catch
to manage an error, not in this way. You should first remove the try-catch
and work with a simple if
:
if (num1.getText().isEmpty() || num2.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE);
throw new Exception();
}
I would not suggested that since now you add a complexity to your code.
The method now need to declare
throws Exception
(which is not possible foractionPerformed()
), now the caller need to manage this possible outcome.Exception
would be too generic.I guess that this case would happen a lot,so throwing an
Exception
could become heavy for the program.
The real solution is to only return
from the method. You've already warned the user that he need to do something (you could be more clear) and you don't want to execute the rest of method.
There is some general notion that are lacking in your code, but I won't cover it all, since I mention it in others answer :
There is naming convetions in Java,
b_add
does not follow it, it should bebAdd
(but it could simply beadd
)You should not extend
JFrame
, but rather just have aprivate JFrame
, you're not adding any functionnality toJFrame
you're only using it. (Composition over inheritance) answer that cover a bit that part
The major problem I can see is this piece of code :
try { if (num1.getText().length() == 0 || num2.getText().length() == 0) { throw new Exception(); } } catch (Exception ex){ JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE); }
If you throw
inside a try-catch
, you will not exit the function. Since your condition is num1.getText().length() == 0
when you try to do Double.parseDouble(num1.getTest()
well your string is empty so this throw an exception.
You should not use throw
and catch
to manage an error, not in this way. You should first remove the try-catch
and work with a simple if
:
if (num1.getText().isEmpty() || num2.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE);
throw new Exception();
}
I would not suggested that since now you add a complexity to your code.
The method now need to declare
throws Exception
(which is not possible foractionPerformed()
), now the caller need to manage this possible outcome.Exception
would be too generic.I guess that this case would happen a lot,so throwing an
Exception
could become heavy for the program.
The real solution is to only return
from the method. You've already warned the user that he need to do something (you could be more clear) and you don't want to execute the rest of method.
The major problem I can see is this piece of code :
try { if (num1.getText().length() == 0 || num2.getText().length() == 0) { throw new Exception(); } } catch (Exception ex){ JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE); }
If you throw
inside a try-catch
, you will not exit the function. Since your condition is num1.getText().length() == 0
when you try to do Double.parseDouble(num1.getTest()
well your string is empty so this throw an exception.
You should not use throw
and catch
to manage an error, not in this way. You should first remove the try-catch
and work with a simple if
:
if (num1.getText().isEmpty() || num2.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE);
throw new Exception();
}
I would not suggested that since now you add a complexity to your code.
The method now need to declare
throws Exception
(which is not possible foractionPerformed()
), now the caller need to manage this possible outcome.Exception
would be too generic.I guess that this case would happen a lot,so throwing an
Exception
could become heavy for the program.
The real solution is to only return
from the method. You've already warned the user that he need to do something (you could be more clear) and you don't want to execute the rest of method.
There is some general notion that are lacking in your code, but I won't cover it all, since I mention it in others answer :
There is naming convetions in Java,
b_add
does not follow it, it should bebAdd
(but it could simply beadd
)You should not extend
JFrame
, but rather just have aprivate JFrame
, you're not adding any functionnality toJFrame
you're only using it. (Composition over inheritance) answer that cover a bit that part
The major problem I can see is this piece of code :
try { if (num1.getText().length() == 0 || num2.getText().length() == 0) { throw new Exception(); } } catch (Exception ex){ JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE); }
If you throw
inside a try-catch
, you will not exit the function. Since your condition is num1.getText().length() == 0
when you try to do Double.parseDouble(num1.getTest()
well your string is empty so this throw an exception.
You should not use throw
and catch
to manage an error, not in this way. You should first remove the try-catch
and work with a simple if
:
if (num1.getText().isEmpty() || num2.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Field missing", "Warning", JOptionPane.WARNING_MESSAGE);
throw new Exception();
}
I would not suggested that since now you add a complexity to your code.
The method now need to declare
throws Exception
(which is not possible foractionPerformed()
), now the caller need to manage this possible outcome.Exception
would be too generic.I guess that this case would happen a lot,so throwing an
Exception
could become heavy for the program.
The real solution is to only return
from the method. You've already warned the user that he need to do something (you could be more clear) and you don't want to execute the rest of method.