Re: Handling same exceptions in different functions
Merciadri Luca wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Thanks for both answers. I learnt new stuff. However, I cannot post an
example, because this is for a uni project. Let's say that I have two
methods f1 and f2, public, which return nothing. They all share the
same exception specialException. I then use
public void f1 (...) throws specialException {
}
and
public void f2 (...) throws specialException {
}
and the same but without any content for the signatures.
Okay, but, using this scheme, I am obliged to type twice the code to
execute once specialException has been encountered. Is it possible to
do this in another way?
Furthermore, how can I implement f1 and f2 if the only code they have
is the code which is only related to the exception they throw?
....
I am not sure I understand your question, but if f1 and f2 need to do
identical tests, I would put the test in its own method:
public void f1(int a) throws SpecialException {
rangeCheck(a);
}
public void f1(int b) throws SpecialException {
rangeCheck(b);
}
private void rangeCheck(int x) throws SpecialException {
if(x < 0 || x > 100) {
throw new SpecialException(x + " is out of range");
}
}
You can also factor out common code for the body of your catch handling:
try {
...
} catch (SpecialException e){
specialExceptionProcessing(e);
}
Patricia