I would suggest subclassing TorqueException. Perhaps TooManyRows and NoRows could subclass TorqueException. The superclass would only be thrown for general exceptions.
This would prevent any existing code from breaking.... > -----Original Message----- > From: Henning P. Schmiedehausen [mailto:[EMAIL PROTECTED]] > Sent: Thursday, January 23, 2003 6:57 AM > To: [EMAIL PROTECTED] > Subject: [RFC] Changing retrieveByPK > > > Hi, > > I have the following problem: > > In Peer.vm there is the following code: > > --- cut --- > List v = doSelect(criteria, con); > if (v.size() != 1) > { > throw new TorqueException("Failed to select one > and only one row."); > } > else > { > return ($table.JavaName)v.get(0); > } > --- cut --- > > I'd like to distinguish between "no such object found" and > "an error occured". > > How about changing this to > > --- cut --- > List v = doSelect(criteria, con); > switch (v.size()) > { > case 0: > throw ... some other exception > > case 1: > break; > > default: > throw new TorqueException("Failed to select > one and only one row."); > } > return ($table.JavaName)v.get(0); > --- cut --- > > to make this possible. > > Regards > Henning > > -- > Dipl.-Inf. (Univ.) Henning P. Schmiedehausen -- > Geschaeftsfuehrer > INTERMETA - Gesellschaft fuer Mehrwertdienste mbH [EMAIL PROTECTED] > > Am Schwabachgrund 22 Fon.: 09131 / 50654-0 [EMAIL PROTECTED] > D-91054 Buckenhof Fax.: 09131 / 50654-20 > > -- > To unsubscribe, e-mail: > <mailto:turbine-torque-dev-> [EMAIL PROTECTED]> > > For additional commands, > e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
