java - Throwing an exception after retrying a block of code -
is correct, safe , sane throw exception after successful retry? programming principle violated in example?
class b { private int total; public void add(int amount) throws exception { if (amount < 0) { throw new exception("amount negative"); } total += amount; } } class { public b b = new b(); public void addtob(int amount) throws exception { try { b.add(amount); } catch (exception ex) { try { b.add(-amount); } catch (exception ex2) { } throw new exception("amount negative. inverted , added."); } } }
your code
working since calling addtob() method
throws exception
inside catch block
must implement try-catch block within try-catch block
. , @ end throwing exception
after having many try-catch blocks
not since exceptions
if not handled can cause problems
, bad practise
throw exception
if method success
. see need user know happened inside method
, can return
string
method tell user happened inside method
.
ex: -
public string addtob(int amount){ string msg = ""; try{ b.add(amount); msg ="successful"; }catch(exception ex){ try{ b.add(-amount); }catch(exception ex2){ } msg= "amount negative. inverted , added."; } return msg; }
even not best practise bt might need check this.
Comments
Post a Comment