How to get detailed exception?












2















I often do this in python exception:



try:
<some process>
except Exception as e:
print(e)


This is helping me when I want the script to keep going but still tell me that there is error. But, print(e) isn't as detail as if I let the exception raised. Is there any way to show the error more detail without raising the exception?










share|improve this question























  • Try: traceback.print_exc()

    – Ondrej K.
    yesterday


















2















I often do this in python exception:



try:
<some process>
except Exception as e:
print(e)


This is helping me when I want the script to keep going but still tell me that there is error. But, print(e) isn't as detail as if I let the exception raised. Is there any way to show the error more detail without raising the exception?










share|improve this question























  • Try: traceback.print_exc()

    – Ondrej K.
    yesterday
















2












2








2








I often do this in python exception:



try:
<some process>
except Exception as e:
print(e)


This is helping me when I want the script to keep going but still tell me that there is error. But, print(e) isn't as detail as if I let the exception raised. Is there any way to show the error more detail without raising the exception?










share|improve this question














I often do this in python exception:



try:
<some process>
except Exception as e:
print(e)


This is helping me when I want the script to keep going but still tell me that there is error. But, print(e) isn't as detail as if I let the exception raised. Is there any way to show the error more detail without raising the exception?







python python-3.x exception-handling






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked yesterday









fahadh4ilyasfahadh4ilyas

1968




1968













  • Try: traceback.print_exc()

    – Ondrej K.
    yesterday





















  • Try: traceback.print_exc()

    – Ondrej K.
    yesterday



















Try: traceback.print_exc()

– Ondrej K.
yesterday







Try: traceback.print_exc()

– Ondrej K.
yesterday














1 Answer
1






active

oldest

votes


















0














There are a number of ways to print traceback information.



As mentioned in the comments, you can use the traceback module's print_exc function



try:
1 / 0
except Exception:
traceback.print_exc()

Traceback (most recent call last):
File "exes.py", line 10, in <module>
1 / 0
ZeroDivisionError: division by zero


If you are using the logging module, the logging.exception function will automatically log the traceback as part of an ERROR level log message.



try:
2 / 0
except Exception:
logging.exception('Something went wrong')

ERROR:root:Something went wrong
Traceback (most recent call last):
File "exes.py", line 15, in <module>
2 / 0
ZeroDivisionError: division by zero


If you prefer to log the traceback at a different log level, you can pass exc_info=True to the log function to have the traceback logged.



try:
3 / 0
except Exception:
logging.warning('Something went wrong.', exc_info=True)

WARNING:root:Something went wrong.
Traceback (most recent call last):
File "exes.py", line 20, in <module>
3 / 0
ZeroDivisionError: division by zero





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%2f54251783%2fhow-to-get-detailed-exception%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














    There are a number of ways to print traceback information.



    As mentioned in the comments, you can use the traceback module's print_exc function



    try:
    1 / 0
    except Exception:
    traceback.print_exc()

    Traceback (most recent call last):
    File "exes.py", line 10, in <module>
    1 / 0
    ZeroDivisionError: division by zero


    If you are using the logging module, the logging.exception function will automatically log the traceback as part of an ERROR level log message.



    try:
    2 / 0
    except Exception:
    logging.exception('Something went wrong')

    ERROR:root:Something went wrong
    Traceback (most recent call last):
    File "exes.py", line 15, in <module>
    2 / 0
    ZeroDivisionError: division by zero


    If you prefer to log the traceback at a different log level, you can pass exc_info=True to the log function to have the traceback logged.



    try:
    3 / 0
    except Exception:
    logging.warning('Something went wrong.', exc_info=True)

    WARNING:root:Something went wrong.
    Traceback (most recent call last):
    File "exes.py", line 20, in <module>
    3 / 0
    ZeroDivisionError: division by zero





    share|improve this answer




























      0














      There are a number of ways to print traceback information.



      As mentioned in the comments, you can use the traceback module's print_exc function



      try:
      1 / 0
      except Exception:
      traceback.print_exc()

      Traceback (most recent call last):
      File "exes.py", line 10, in <module>
      1 / 0
      ZeroDivisionError: division by zero


      If you are using the logging module, the logging.exception function will automatically log the traceback as part of an ERROR level log message.



      try:
      2 / 0
      except Exception:
      logging.exception('Something went wrong')

      ERROR:root:Something went wrong
      Traceback (most recent call last):
      File "exes.py", line 15, in <module>
      2 / 0
      ZeroDivisionError: division by zero


      If you prefer to log the traceback at a different log level, you can pass exc_info=True to the log function to have the traceback logged.



      try:
      3 / 0
      except Exception:
      logging.warning('Something went wrong.', exc_info=True)

      WARNING:root:Something went wrong.
      Traceback (most recent call last):
      File "exes.py", line 20, in <module>
      3 / 0
      ZeroDivisionError: division by zero





      share|improve this answer


























        0












        0








        0







        There are a number of ways to print traceback information.



        As mentioned in the comments, you can use the traceback module's print_exc function



        try:
        1 / 0
        except Exception:
        traceback.print_exc()

        Traceback (most recent call last):
        File "exes.py", line 10, in <module>
        1 / 0
        ZeroDivisionError: division by zero


        If you are using the logging module, the logging.exception function will automatically log the traceback as part of an ERROR level log message.



        try:
        2 / 0
        except Exception:
        logging.exception('Something went wrong')

        ERROR:root:Something went wrong
        Traceback (most recent call last):
        File "exes.py", line 15, in <module>
        2 / 0
        ZeroDivisionError: division by zero


        If you prefer to log the traceback at a different log level, you can pass exc_info=True to the log function to have the traceback logged.



        try:
        3 / 0
        except Exception:
        logging.warning('Something went wrong.', exc_info=True)

        WARNING:root:Something went wrong.
        Traceback (most recent call last):
        File "exes.py", line 20, in <module>
        3 / 0
        ZeroDivisionError: division by zero





        share|improve this answer













        There are a number of ways to print traceback information.



        As mentioned in the comments, you can use the traceback module's print_exc function



        try:
        1 / 0
        except Exception:
        traceback.print_exc()

        Traceback (most recent call last):
        File "exes.py", line 10, in <module>
        1 / 0
        ZeroDivisionError: division by zero


        If you are using the logging module, the logging.exception function will automatically log the traceback as part of an ERROR level log message.



        try:
        2 / 0
        except Exception:
        logging.exception('Something went wrong')

        ERROR:root:Something went wrong
        Traceback (most recent call last):
        File "exes.py", line 15, in <module>
        2 / 0
        ZeroDivisionError: division by zero


        If you prefer to log the traceback at a different log level, you can pass exc_info=True to the log function to have the traceback logged.



        try:
        3 / 0
        except Exception:
        logging.warning('Something went wrong.', exc_info=True)

        WARNING:root:Something went wrong.
        Traceback (most recent call last):
        File "exes.py", line 20, in <module>
        3 / 0
        ZeroDivisionError: division by zero






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 13 hours ago









        snakecharmerbsnakecharmerb

        10.1k42249




        10.1k42249






























            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%2f54251783%2fhow-to-get-detailed-exception%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

            Liquibase includeAll doesn't find base path

            How to use setInterval in EJS file?

            Petrus Granier-Deferre