refactor try-catch across class hierarchyJava inner class and static nested classCatch multiple exceptions at once?How slow are Java exceptions?The case against checked exceptionsGlobally catch exceptions in a WPF application?Efficiency of Java “Double Brace Initialization”?Can I catch multiple Java exceptions in the same catch clause?What is ApplicationException for in .NET?Catch multiple exceptions in one line (except block)Exception hierarchy/try-multi-catch
Could a complex system of reaction wheels be used to propel a spacecraft?
How can I improve my formal definitions?
Why are CEOs generally fired rather being demoted?
Ways you can end up paying interest on a credit card if you pay the full amount back in due time
How to load files as a quickfix window at start-up
Why is Mitch McConnell blocking nominees to the Federal Election Commission?
Is there anything in the universe that cannot be compressed?
Are there consequences for not filing a DMCA (any country)
In Toy Story, are toys the only inanimate objects that become alive? And if so, why?
Pandas transform inconsistent behavior for list
What caused the end of cybernetic implants?
What are the electrical characteristics of a PC gameport?
Displaying Time in HH:MM Format
Missing $ inserted. Extra }, or forgotten $. Missing } inserted
How are the cards determined in an incomplete deck of many things?
Why do fuses burn at a specific current?
Calculate Landau's function
How were US credit cards verified in-store in the 1980's?
What does "Ad" and "Soyad" mean on a Turkish visa application?
Sum and average calculator
Could these polynomials be identified?
How do I get my neighbour to stop disturbing with loud music?
Divide Numbers by 0
Is the equational theory of groups axiomatized by the associative law?
refactor try-catch across class hierarchy
Java inner class and static nested classCatch multiple exceptions at once?How slow are Java exceptions?The case against checked exceptionsGlobally catch exceptions in a WPF application?Efficiency of Java “Double Brace Initialization”?Can I catch multiple Java exceptions in the same catch clause?What is ApplicationException for in .NET?Catch multiple exceptions in one line (except block)Exception hierarchy/try-multi-catch
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
Suppose you have this code:
class Base {
void method() throws Exception
try
//Lots of code here
catch (Exception e)
//handle it (very little code here)
class Derived extends Base {
@Override
void method() throws Exception
try
//Lots of code here (same code as in base class)
catch (Exception e)
//handle it (very little code here; also same as base class)
catch (Error e)
e.printStackTrace();
System.exit(1);
So, as we can see, the methods are the same except the derived class has an extra catch clause. Is there a nice way to have a bit less duplicated code here?
java exception refactoring dry code-duplication
add a comment |
Suppose you have this code:
class Base {
void method() throws Exception
try
//Lots of code here
catch (Exception e)
//handle it (very little code here)
class Derived extends Base {
@Override
void method() throws Exception
try
//Lots of code here (same code as in base class)
catch (Exception e)
//handle it (very little code here; also same as base class)
catch (Error e)
e.printStackTrace();
System.exit(1);
So, as we can see, the methods are the same except the derived class has an extra catch clause. Is there a nice way to have a bit less duplicated code here?
java exception refactoring dry code-duplication
1
I suggest to put your code in try block inside another method and call it when you need to.
– Jordan Motta
Mar 28 at 0:54
Hm... that works I suppose. Can't share the skeleton that way though. For instance, imagine that both methods have an identical finally block as well. (In the code that motivated this question, this is pretty much true: they have an almost identical finally block, with almost as much code as the try block.) I could make a method for that too I guess, but, but I'm not sure if there's QUITE enough code duplication for me to be sure this is worth the trouble.
– Mark VY
Mar 28 at 1:02
"The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that." (Martin, Clean Code, 2009, p 34). It is enough code to make into a method.
– KevinO
Mar 28 at 1:30
alright, alright, fair point
– Mark VY
Mar 28 at 14:30
add a comment |
Suppose you have this code:
class Base {
void method() throws Exception
try
//Lots of code here
catch (Exception e)
//handle it (very little code here)
class Derived extends Base {
@Override
void method() throws Exception
try
//Lots of code here (same code as in base class)
catch (Exception e)
//handle it (very little code here; also same as base class)
catch (Error e)
e.printStackTrace();
System.exit(1);
So, as we can see, the methods are the same except the derived class has an extra catch clause. Is there a nice way to have a bit less duplicated code here?
java exception refactoring dry code-duplication
Suppose you have this code:
class Base {
void method() throws Exception
try
//Lots of code here
catch (Exception e)
//handle it (very little code here)
class Derived extends Base {
@Override
void method() throws Exception
try
//Lots of code here (same code as in base class)
catch (Exception e)
//handle it (very little code here; also same as base class)
catch (Error e)
e.printStackTrace();
System.exit(1);
So, as we can see, the methods are the same except the derived class has an extra catch clause. Is there a nice way to have a bit less duplicated code here?
java exception refactoring dry code-duplication
java exception refactoring dry code-duplication
asked Mar 28 at 0:41
Mark VYMark VY
7315 silver badges19 bronze badges
7315 silver badges19 bronze badges
1
I suggest to put your code in try block inside another method and call it when you need to.
– Jordan Motta
Mar 28 at 0:54
Hm... that works I suppose. Can't share the skeleton that way though. For instance, imagine that both methods have an identical finally block as well. (In the code that motivated this question, this is pretty much true: they have an almost identical finally block, with almost as much code as the try block.) I could make a method for that too I guess, but, but I'm not sure if there's QUITE enough code duplication for me to be sure this is worth the trouble.
– Mark VY
Mar 28 at 1:02
"The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that." (Martin, Clean Code, 2009, p 34). It is enough code to make into a method.
– KevinO
Mar 28 at 1:30
alright, alright, fair point
– Mark VY
Mar 28 at 14:30
add a comment |
1
I suggest to put your code in try block inside another method and call it when you need to.
– Jordan Motta
Mar 28 at 0:54
Hm... that works I suppose. Can't share the skeleton that way though. For instance, imagine that both methods have an identical finally block as well. (In the code that motivated this question, this is pretty much true: they have an almost identical finally block, with almost as much code as the try block.) I could make a method for that too I guess, but, but I'm not sure if there's QUITE enough code duplication for me to be sure this is worth the trouble.
– Mark VY
Mar 28 at 1:02
"The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that." (Martin, Clean Code, 2009, p 34). It is enough code to make into a method.
– KevinO
Mar 28 at 1:30
alright, alright, fair point
– Mark VY
Mar 28 at 14:30
1
1
I suggest to put your code in try block inside another method and call it when you need to.
– Jordan Motta
Mar 28 at 0:54
I suggest to put your code in try block inside another method and call it when you need to.
– Jordan Motta
Mar 28 at 0:54
Hm... that works I suppose. Can't share the skeleton that way though. For instance, imagine that both methods have an identical finally block as well. (In the code that motivated this question, this is pretty much true: they have an almost identical finally block, with almost as much code as the try block.) I could make a method for that too I guess, but, but I'm not sure if there's QUITE enough code duplication for me to be sure this is worth the trouble.
– Mark VY
Mar 28 at 1:02
Hm... that works I suppose. Can't share the skeleton that way though. For instance, imagine that both methods have an identical finally block as well. (In the code that motivated this question, this is pretty much true: they have an almost identical finally block, with almost as much code as the try block.) I could make a method for that too I guess, but, but I'm not sure if there's QUITE enough code duplication for me to be sure this is worth the trouble.
– Mark VY
Mar 28 at 1:02
"The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that." (Martin, Clean Code, 2009, p 34). It is enough code to make into a method.
– KevinO
Mar 28 at 1:30
"The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that." (Martin, Clean Code, 2009, p 34). It is enough code to make into a method.
– KevinO
Mar 28 at 1:30
alright, alright, fair point
– Mark VY
Mar 28 at 14:30
alright, alright, fair point
– Mark VY
Mar 28 at 14:30
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55388543%2frefactor-try-catch-across-class-hierarchy%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.
Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55388543%2frefactor-try-catch-across-class-hierarchy%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
I suggest to put your code in try block inside another method and call it when you need to.
– Jordan Motta
Mar 28 at 0:54
Hm... that works I suppose. Can't share the skeleton that way though. For instance, imagine that both methods have an identical finally block as well. (In the code that motivated this question, this is pretty much true: they have an almost identical finally block, with almost as much code as the try block.) I could make a method for that too I guess, but, but I'm not sure if there's QUITE enough code duplication for me to be sure this is worth the trouble.
– Mark VY
Mar 28 at 1:02
"The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that." (Martin, Clean Code, 2009, p 34). It is enough code to make into a method.
– KevinO
Mar 28 at 1:30
alright, alright, fair point
– Mark VY
Mar 28 at 14:30