Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Why does QT use so few exceptions?

    General and Desktop
    9
    17
    16395
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      s.frings last edited by

      Hi,
      I am developing Java programs since 3 years, so I very often work with exceptions. I wonder why QT does not use them as oftens. It seems that they are used as less as possible. Can somebody explain, why?

      1 Reply Last reply Reply Quote 0
      • T
        tobias.hunger last edited by

        When Qt was started exceptions were not available for all the compilers that needed to be supported by Qt. Today we are trying to keep the APIs consistent, so modules that have a history of not using exceptions will generally not get new code using exceptions added.

        You will notice exceptions are used in some of the new modules of Qt.

        1 Reply Last reply Reply Quote 0
        • D
          DenisKormalev last edited by

          Tobias, does it mean that some day (version of Qt like 6.10) we will have exception-style error handling in Qt, not error()-methods?

          1 Reply Last reply Reply Quote 0
          • T
            tobias.hunger last edited by

            Denis: For consistency we should not mix error handling styles in modules, so I can not see this happen without causing a mayor version number change (since the non-exception style would need to get removed which will break source compatibility).

            But this is just my opinion: I am not aware of any plans for Qt 5 or later.

            1 Reply Last reply Reply Quote 0
            • D
              danilocesar last edited by

              [quote author="Tobias Hunger" date="1286374926"]
              But this is just my opinion: I am not aware of any plans for Qt 5 or later.[/quote]

              NOOOOOOO!!! =P

              <a href="http://www.danilocesar.com">Danilo Cesar Lemes de Paula</a>
              Software Engineer

              1 Reply Last reply Reply Quote 0
              • T
                tobias.hunger last edited by

                danilocesar: What was that NOOOOO about?

                1 Reply Last reply Reply Quote 0
                • D
                  danilocesar last edited by

                  It's a good place to change major architecture decisions without harm current devs.
                  From a simplistic point of view (without thinking about continuous improvement of current apps, kde, nokia, market, etc), who doesn't want Qt 5? :)

                  <a href="http://www.danilocesar.com">Danilo Cesar Lemes de Paula</a>
                  Software Engineer

                  1 Reply Last reply Reply Quote 0
                  • M
                    MTK358 last edited by

                    [quote author="Tobias Hunger" date="1286394948"]danilocesar: What was that NOOOOO about?[/quote]

                    Just read this sentence and forget about the context of this thread:

                    "I am not aware of any plans for Qt 5 or later."

                    1 Reply Last reply Reply Quote 0
                    • T
                      tobias.hunger last edited by

                      MTK358: I do not know of any plans, that does not mean that nobody else is doing planning;-)

                      1 Reply Last reply Reply Quote 0
                      • S
                        s.frings last edited by

                        To come back to the original question: Is there a technical reason, not to use exception to handle errors? I understood, that the reason was historically, so it's basically a good idea to use exceptions in my own programs.

                        1 Reply Last reply Reply Quote 0
                        • F
                          Franzk last edited by

                          I don't think there would be a lot of places where Qt would really benefit from exceptions, but hey, I might be missing something :).

                          "Horse sense is the thing a horse has which keeps it from betting on people." -- W.C. Fields

                          http://www.catb.org/~esr/faqs/smart-questions.html

                          1 Reply Last reply Reply Quote 0
                          • T
                            tobias.hunger last edited by

                            s.frings: Yes, there is no reason not to use exceptions in your own programs. I do not know whether it is a good idea for consistency reasons: I prefer not having to switch between exception/non-exception code, but that is just a matter of taste.

                            1 Reply Last reply Reply Quote 0
                            • I
                              ivan.todorovich last edited by

                              What about QSqlError ?
                              I find it annoying calling lastError() every time I execute a SQL query. I can't think of a better place to use exceptions instead of error codes. Not to mention that exceptions are thread-safe.

                              o_o Sorry for my rusted english.

                              1 Reply Last reply Reply Quote 0
                              • S
                                szh1 last edited by

                                What are the advantages of Exceptions?

                                1 Reply Last reply Reply Quote 0
                                • G
                                  goetz last edited by

                                  Some of them are explained "here":http://www.parashift.com/c++-faq-lite/exceptions.html

                                  And keep in mind:
                                  there is NO one size fits all! Exceptions might work wel for one case, but not for the other.

                                  http://www.catb.org/~esr/faqs/smart-questions.html

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    szh1 last edited by

                                    I hope Qt starts to use exceptions soon!

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      goetz last edited by

                                      You'll have to wait at least until Qt 5 comes around.

                                      All releases of the Qt 4 series will stay source and binary compatible. Switching to using exceptions is a far too big change. Maybe it will come sometimes, but don't expect anything. There aren't even rumors about a timeline of Qt 5, even less abut exceptions...

                                      http://www.catb.org/~esr/faqs/smart-questions.html

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post