Re: Exceptions . . .

From: Mike Kienenberger (mkienen..mail.com)
Date: Fri Aug 03 2007 - 12:41:07 EDT

  • Next message: Robert Zeigler: "handling of "0" dates...."

    For what it's worth, when I write my own code these days, I use either
    NullPointerException("variable-name") or IllegalArgumentException("why
    it's illegal")

    On 8/3/07, Andrus Adamchik <andru..bjectstyle.org> wrote:
    >
    > On Aug 3, 2007, at 7:18 PM, Kevin Menard wrote:
    >
    > > I imagine throwing
    > > CayenneException is preferred, but given that it's a checked
    > > exception,
    > > that could mean rewriting interfaces.
    >
    > We certainly DO NOT want every method in Cayenne to throw checked
    > exceptions. Then it will be as "usable" as JDBC :-)
    > CayenneRuntimeException (and its two specialized subclasses -
    > ExpressionException and EJBQLException) and IllegalArgumentException
    > are two of my favorites.
    >
    > For things like argument checking in the user-facing API,
    > IllegalArgumentException seems more appropriate than
    > CayenneRuntimeException.
    >
    > Also I don't think we have too many methods in Cayenne (if any at
    > all) that throw checked CayenneException, requiring a try/catch. It
    > is always CayenneRuntimeException.
    >
    > > I'm a fan of throwing unchecked exceptions if we can't do anything
    > > about the problem anyway.
    >
    > Yep.
    >
    > > Also, should we be adding tests to check the exceptions are actually
    > > thrown and pair them up with fail() calls? Or, has the approach
    > > been to
    > > just introduce the exception and just make sure the existing test
    > > suite
    > > passes?
    >
    > It's been the later. But also because everybody wants to cut down
    > time writing unit tests, not because of some principle :-)
    >
    > Andrus
    >
    >
    >



    This archive was generated by hypermail 2.0.0 : Fri Aug 03 2007 - 12:41:35 EDT