Ignoring exceptions vs throwing it explicitlyWhen is it right for a constructor to throw an exception?Catch multiple exceptions at once?How do you assert that a certain exception is thrown in JUnit 4 tests?Best practices for exception management in Java or C#The case against checked exceptionsHow to properly ignore exceptionsGlobally catch exceptions in a WPF application?Proper way to declare custom exceptions in modern Python?Manually raising (throwing) an exception in PythonCatch multiple exceptions in one line (except block)

How is the claim "I am in New York only if I am in America" the same as "If I am in New York, then I am in America?

What is the logic behind how bash tests for true/false?

Is Social Media Science Fiction?

Book about a traveler who helps planets in need

I see my dog run

Pronouncing Dictionary.com's W.O.D "vade mecum" in English

A newer friend of my brother's gave him a load of baseball cards that are supposedly extremely valuable. Is this a scam?

Prevent a directory in /tmp from being deleted

How can I hide my bitcoin transactions to protect anonymity from others?

What exactly is the parasitic white layer that forms after iron parts are treated with ammonia?

What defenses are there against being summoned by the Gate spell?

How old can references or sources in a thesis be?

How can bays and straits be determined in a procedurally generated map?

Example of a relative pronoun

Do airline pilots ever risk not hearing communication directed to them specifically, from traffic controllers?

Why is "Reports" in sentence down without "The"

How is it possible for user's password to be changed after storage was encrypted? (on OS X, Android)

Why don't electromagnetic waves interact with each other?

How to make payment on the internet without leaving a money trail?

declaring a variable twice in IIFE

What do you call a Matrix-like slowdown and camera movement effect?

Infinite past with a beginning?

Should I join office cleaning event for free?

Copycat chess is back



Ignoring exceptions vs throwing it explicitly


When is it right for a constructor to throw an exception?Catch multiple exceptions at once?How do you assert that a certain exception is thrown in JUnit 4 tests?Best practices for exception management in Java or C#The case against checked exceptionsHow to properly ignore exceptionsGlobally catch exceptions in a WPF application?Proper way to declare custom exceptions in modern Python?Manually raising (throwing) an exception in PythonCatch multiple exceptions in one line (except block)






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















Is it alright to return an empty object in case of an exception or should we throw the exception so that caller may know what has gone wrong?



public async Task<UserInfoModel> GetUserInfoByRole(Role role)

UserModel userInfo = new UserModel();
try

// do something

catch (Exception ex)

// do logging
// throw;


return userInfo;










share|improve this question

















  • 2





    The caller is likely in a better position to decide if proceeding with an empty model is the correct thing to do when faced with an exception.

    – Jonathon Chase
    Mar 22 at 0:52






  • 1





    Yeah I wouldn't impose an empty object on the caller, throw the exception imo. You might also want to take a look at the Maybe<> type or Option<> type and see if you like the way it works. You'll have to find a library as it's not included in c#'s standard library.

    – Nick Acosta
    Mar 22 at 0:55












  • You should only throw exceptions on exceptional situations. If something is wrong, an exception tells more than an empty object.

    – J. van Langen
    Mar 22 at 1:20












  • I suggest reading this excellent article on the four categories of exceptions, by Eric Lippert: blogs.msdn.microsoft.com/ericlippert/2008/09/10/…

    – jazzdelightsme
    Mar 22 at 2:22

















0















Is it alright to return an empty object in case of an exception or should we throw the exception so that caller may know what has gone wrong?



public async Task<UserInfoModel> GetUserInfoByRole(Role role)

UserModel userInfo = new UserModel();
try

// do something

catch (Exception ex)

// do logging
// throw;


return userInfo;










share|improve this question

















  • 2





    The caller is likely in a better position to decide if proceeding with an empty model is the correct thing to do when faced with an exception.

    – Jonathon Chase
    Mar 22 at 0:52






  • 1





    Yeah I wouldn't impose an empty object on the caller, throw the exception imo. You might also want to take a look at the Maybe<> type or Option<> type and see if you like the way it works. You'll have to find a library as it's not included in c#'s standard library.

    – Nick Acosta
    Mar 22 at 0:55












  • You should only throw exceptions on exceptional situations. If something is wrong, an exception tells more than an empty object.

    – J. van Langen
    Mar 22 at 1:20












  • I suggest reading this excellent article on the four categories of exceptions, by Eric Lippert: blogs.msdn.microsoft.com/ericlippert/2008/09/10/…

    – jazzdelightsme
    Mar 22 at 2:22













0












0








0








Is it alright to return an empty object in case of an exception or should we throw the exception so that caller may know what has gone wrong?



public async Task<UserInfoModel> GetUserInfoByRole(Role role)

UserModel userInfo = new UserModel();
try

// do something

catch (Exception ex)

// do logging
// throw;


return userInfo;










share|improve this question














Is it alright to return an empty object in case of an exception or should we throw the exception so that caller may know what has gone wrong?



public async Task<UserInfoModel> GetUserInfoByRole(Role role)

UserModel userInfo = new UserModel();
try

// do something

catch (Exception ex)

// do logging
// throw;


return userInfo;







c# exception






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 22 at 0:51









FIre PandaFIre Panda

5,30611730




5,30611730







  • 2





    The caller is likely in a better position to decide if proceeding with an empty model is the correct thing to do when faced with an exception.

    – Jonathon Chase
    Mar 22 at 0:52






  • 1





    Yeah I wouldn't impose an empty object on the caller, throw the exception imo. You might also want to take a look at the Maybe<> type or Option<> type and see if you like the way it works. You'll have to find a library as it's not included in c#'s standard library.

    – Nick Acosta
    Mar 22 at 0:55












  • You should only throw exceptions on exceptional situations. If something is wrong, an exception tells more than an empty object.

    – J. van Langen
    Mar 22 at 1:20












  • I suggest reading this excellent article on the four categories of exceptions, by Eric Lippert: blogs.msdn.microsoft.com/ericlippert/2008/09/10/…

    – jazzdelightsme
    Mar 22 at 2:22












  • 2





    The caller is likely in a better position to decide if proceeding with an empty model is the correct thing to do when faced with an exception.

    – Jonathon Chase
    Mar 22 at 0:52






  • 1





    Yeah I wouldn't impose an empty object on the caller, throw the exception imo. You might also want to take a look at the Maybe<> type or Option<> type and see if you like the way it works. You'll have to find a library as it's not included in c#'s standard library.

    – Nick Acosta
    Mar 22 at 0:55












  • You should only throw exceptions on exceptional situations. If something is wrong, an exception tells more than an empty object.

    – J. van Langen
    Mar 22 at 1:20












  • I suggest reading this excellent article on the four categories of exceptions, by Eric Lippert: blogs.msdn.microsoft.com/ericlippert/2008/09/10/…

    – jazzdelightsme
    Mar 22 at 2:22







2




2





The caller is likely in a better position to decide if proceeding with an empty model is the correct thing to do when faced with an exception.

– Jonathon Chase
Mar 22 at 0:52





The caller is likely in a better position to decide if proceeding with an empty model is the correct thing to do when faced with an exception.

– Jonathon Chase
Mar 22 at 0:52




1




1





Yeah I wouldn't impose an empty object on the caller, throw the exception imo. You might also want to take a look at the Maybe<> type or Option<> type and see if you like the way it works. You'll have to find a library as it's not included in c#'s standard library.

– Nick Acosta
Mar 22 at 0:55






Yeah I wouldn't impose an empty object on the caller, throw the exception imo. You might also want to take a look at the Maybe<> type or Option<> type and see if you like the way it works. You'll have to find a library as it's not included in c#'s standard library.

– Nick Acosta
Mar 22 at 0:55














You should only throw exceptions on exceptional situations. If something is wrong, an exception tells more than an empty object.

– J. van Langen
Mar 22 at 1:20






You should only throw exceptions on exceptional situations. If something is wrong, an exception tells more than an empty object.

– J. van Langen
Mar 22 at 1:20














I suggest reading this excellent article on the four categories of exceptions, by Eric Lippert: blogs.msdn.microsoft.com/ericlippert/2008/09/10/…

– jazzdelightsme
Mar 22 at 2:22





I suggest reading this excellent article on the four categories of exceptions, by Eric Lippert: blogs.msdn.microsoft.com/ericlippert/2008/09/10/…

– jazzdelightsme
Mar 22 at 2:22












1 Answer
1






active

oldest

votes


















0














It depends if you are creating a class, component, ... for others to use, you obviously should throw an exception. because they need to know about it and handle the exception the way that suits them.



If it is a method in your own code, may be returning a null value would be sufficient, because you might just check the return value and if it is null you know that there was an error and you don't want to program break because of the exception, otherwise you will need another exception handling again.






share|improve this answer























    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
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55291340%2fignoring-exceptions-vs-throwing-it-explicitly%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    It depends if you are creating a class, component, ... for others to use, you obviously should throw an exception. because they need to know about it and handle the exception the way that suits them.



    If it is a method in your own code, may be returning a null value would be sufficient, because you might just check the return value and if it is null you know that there was an error and you don't want to program break because of the exception, otherwise you will need another exception handling again.






    share|improve this answer



























      0














      It depends if you are creating a class, component, ... for others to use, you obviously should throw an exception. because they need to know about it and handle the exception the way that suits them.



      If it is a method in your own code, may be returning a null value would be sufficient, because you might just check the return value and if it is null you know that there was an error and you don't want to program break because of the exception, otherwise you will need another exception handling again.






      share|improve this answer

























        0












        0








        0







        It depends if you are creating a class, component, ... for others to use, you obviously should throw an exception. because they need to know about it and handle the exception the way that suits them.



        If it is a method in your own code, may be returning a null value would be sufficient, because you might just check the return value and if it is null you know that there was an error and you don't want to program break because of the exception, otherwise you will need another exception handling again.






        share|improve this answer













        It depends if you are creating a class, component, ... for others to use, you obviously should throw an exception. because they need to know about it and handle the exception the way that suits them.



        If it is a method in your own code, may be returning a null value would be sufficient, because you might just check the return value and if it is null you know that there was an error and you don't want to program break because of the exception, otherwise you will need another exception handling again.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 22 at 0:56









        Ashkan Mobayen KhiabaniAshkan Mobayen Khiabani

        23.2k1868124




        23.2k1868124





























            draft saved

            draft discarded
















































            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.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55291340%2fignoring-exceptions-vs-throwing-it-explicitly%23new-answer', 'question_page');

            );

            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







            Popular posts from this blog

            Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

            Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

            Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript