Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #30246
| Newsgroups | comp.lang.java.programmer |
|---|---|
| Date | 2014-10-29 18:04 -0700 |
| References | (9 earlier) <6fa2df26-9917-49b8-8366-087afdcc06f8@googlegroups.com> <cbbjkiFjvvcU1@mid.individual.net> <m2qics$d01$1@dont-email.me> <m2r654$j6g$1@speranza.aioe.org> <m2r85a$t4j$1@dont-email.me> |
| Message-ID | <84a3aa6f-ad37-41e2-b648-e69e884cc67a@googlegroups.com> (permalink) |
| Subject | Re: redesign exception |
| From | boxzou@gmail.com |
Why generate the exceptions from error codes? Just because Java's catch only catch Exception type. What if java's catch is extended to catch code? This is exactly what I am posting about. Error codes is the way to go. > > It strikes me as odd that they didn't create an SQLRuntimeException > > class (derived from RuntimeException) for the SQL errors that likely > > represent bugs in your code (syntactically malformed queries, column > > doesn't exist, > > etc.) and reserve the (checked) SQLException hierarchy for ones that can > > arise even if there is no bug in the application (or mismatch of some > > sort between the application and the database), such as I/O errors and > > constraint violations. > > > > That's the usual pattern elsewhere in Javaland, after all: > > RuntimeException (and Error) for cases that need the application code > > changing to fix, and (checked) Exception for cases that can arise > > without broken application code, but as errors that are (or, at least, > > often are) > > something else's fault (user error, network, or whatever). > > > Yes, that split into major Exception classes would be useful and would, > have been trivially easy to do by subclassing SQLRuntimeException and > SQLException. It would have been easy enough to generate the right > Exception within the JDBC driver too; the underlying SQL error codes are > given a structured set of values by every RDBMS I've used. > > > Funnily enough, almost all of the exceptions I see in actual practice > > that are not programmer errors are IOExceptions or, at least, are I/O > > exceptions. :) User misspells filename to open: IOException. Network > > resource (or network itself) goes down: IOException. I'm wondering > > actually how often it even makes sense for a checked exception not to be > > considered, at least conceptually, to be an I/O exception. > > > This is probably due to code designed to not throw Exceptions just > because input date is invalid. > > I believe a good case can be made that invalid data isn't really an > Exception because having both good and bad data input is part of normal > processing and therefore something like a boolean VALID/INVALID return > from the checking method is alll that's needed. Throwing exceptions > should be reserved for processing errors, e.g. a public holiday check on > an in-range future date discovering that the valid public holiday list > doesn't cover all permitted future dates, or finding that the input > represents a security violation serious enough to require attention from > somebody other than the user who input it. > > > -- > martin@ | Martin Gregorie > gregorie. | Essex, UK > org |
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
redesign exception boxzou@gmail.com - 2014-10-25 19:16 -0700
Re: redesign exception Joerg Meier <joergmmeier@arcor.de> - 2014-10-26 08:09 +0100
Re: redesign exception rossum <rossum48@coldmail.com> - 2014-10-26 09:15 +0000
Re: redesign exception Joerg Meier <joergmmeier@arcor.de> - 2014-10-26 10:36 +0100
Re: redesign exception Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-10-26 09:23 -0400
Re: redesign exception boxzou@gmail.com - 2014-10-26 12:56 -0700
Re: redesign exception Eric Sosman <esosman@comcast-dot-net.invalid> - 2014-10-26 18:10 -0400
Re: redesign exception boxzou@gmail.com - 2014-10-26 17:39 -0700
Re: redesign exception boxzou@gmail.com - 2014-10-26 12:06 -0700
Re: redesign exception Joerg Meier <joergmmeier@arcor.de> - 2014-10-26 20:41 +0100
Re: redesign exception boxzou@gmail.com - 2014-10-26 12:46 -0700
Re: redesign exception boxzou@gmail.com - 2014-10-26 13:12 -0700
Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-26 16:50 -0500
Re: redesign exception boxzou@gmail.com - 2014-10-26 17:21 -0700
Re: redesign exception Martin Gregorie <martin@address-in-sig.invalid> - 2014-10-27 01:05 +0000
Re: redesign exception boxzou@gmail.com - 2014-10-26 19:38 -0700
Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-27 00:13 -0500
Re: redesign exception boxzou@gmail.com - 2014-10-27 04:59 -0700
Re: redesign exception Marketa Jadalova <m-jadalova3@gmail.com> - 2014-10-27 16:55 +0000
Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-27 12:46 -0500
Re: redesign exception boxzou@gmail.com - 2014-10-27 15:48 -0700
Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-27 22:16 -0500
Re: redesign exception Robert Klemme <shortcutter@googlemail.com> - 2014-10-27 23:54 +0100
Re: redesign exception boxzou@gmail.com - 2014-10-27 17:20 -0700
Re: redesign exception boxzou@gmail.com - 2014-10-28 07:12 -0700
Re: redesign exception Robert Klemme <shortcutter@googlemail.com> - 2014-10-29 08:34 +0100
Re: redesign exception Martin Gregorie <martin@address-in-sig.invalid> - 2014-10-29 11:17 +0000
Re: redesign exception Silvio <silvio@internet.com> - 2014-10-29 15:33 +0100
Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-29 11:35 -0500
Re: redesign exception boxzou@gmail.com - 2014-10-29 17:51 -0700
Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-29 20:45 -0500
Re: redesign exception boxzou@gmail.com - 2014-10-30 04:12 -0700
Re: redesign exception Silvio <silvio@internet.com> - 2014-10-30 12:38 +0100
Re: redesign exception boxzou@gmail.com - 2014-10-30 06:23 -0700
Re: redesign exception boxzou@gmail.com - 2014-10-29 17:01 -0700
Re: redesign exception Marketa Jadalova <m-jadalova3@gmail.com> - 2014-10-29 16:55 +0000
Re: redesign exception Martin Gregorie <martin@address-in-sig.invalid> - 2014-10-29 17:29 +0000
Re: redesign exception Robert Klemme <shortcutter@googlemail.com> - 2014-10-29 18:59 +0100
Re: redesign exception Martin Gregorie <martin@address-in-sig.invalid> - 2014-10-29 22:05 +0000
Re: redesign exception boxzou@gmail.com - 2014-10-29 18:04 -0700
Re: redesign exception Leif Roar Moldskred <leifm@huldreskog.localdomain> - 2014-10-29 20:56 -0500
Re: redesign exception boxzou@gmail.com - 2014-10-30 04:19 -0700
Re: redesign exception boxzou@gmail.com - 2014-10-30 04:27 -0700
Re: redesign exception boxzou@gmail.com - 2014-10-30 04:35 -0700
Re: redesign exception boxzou@gmail.com - 2014-10-29 18:01 -0700
Re: redesign exception boxzou@gmail.com - 2014-10-29 17:00 -0700
Re: redesign exception boxzou@gmail.com - 2014-10-29 16:56 -0700
Re: redesign exception boxzou@gmail.com - 2014-10-26 12:52 -0700
Re: redesign exception Silvio <silvio@internet.com> - 2014-10-27 09:03 +0100
Re: redesign exception boxzou@gmail.com - 2014-10-27 05:06 -0700
Re: redesign exception Silvio <silvio@internet.com> - 2014-10-27 13:32 +0100
Re: redesign exception boxzou@gmail.com - 2014-10-27 07:01 -0700
csiph-web