From: Egon W. <eg...@sc...> - 2002-08-11 19:00:32
|
Hi all, I've filed two related bugs last week which deal with this "problem": some methods do not check for ArrayIndexOutOfBoundExceptions... I think they should do this and throw a NoSuchAtomException or a NoSuchBondException... This will give some overhead, but give clearer output when things fail. Does anyone disagree? Otherwise I'll fix these bugs next week. In general, I think the core classes should never throw RunTimeException in any case other than bugs in the JVM. What is your opinion on this? Egon |
From: Christoph S. <ste...@ic...> - 2002-08-12 07:47:46
|
Egon Willighagen wrote: > Hi all, > > I've filed two related bugs last week which deal with this "problem": > > some methods do not check for ArrayIndexOutOfBoundExceptions... > > I think they should do this and throw a NoSuchAtomException or > a NoSuchBondException... > > This will give some overhead, but give clearer output when things fail. > > Does anyone disagree? Otherwise I'll fix these bugs next week. > > In general, I think the core classes should never throw RunTimeException in > any case other than bugs in the JVM. What is your opinion on this? While I do generally aggree, I would also like to point out an important performance issue. The core classes are in the heart of our system and should be as concise and slim as possible. Any case in the past time when I got ArrayIndexOutOfBoundsException this was a programming error of mine. When you iterate of the Atoms of a Molecule, you always get the correct number of Atoms by getAtomCount() And if you really want to be sure, you have to use a AtomEnumeration. But again, basically we could do the checking, provided that if does not quench performance. Cheers, Chris -- Dr. Christoph Steinbeck (http://www.ice.mpg.de/departments/ChemInf) MPI of Chemical Ecology, Winzerlaer Str. 10, Beutenberg Campus, 07745 Jena, Germany Tel: +49(0)3641 571263 - Fax: +49(0)3641 571202 What is man but that lofty spirit - that sense of enterprise. ... Kirk, "I, Mudd," stardate 4513.3.. |
From: E.L. W. <eg...@sc...> - 2002-08-12 08:14:15
|
On Monday 12 August 2002 09:47, Christoph Steinbeck wrote: > Egon Willighagen wrote: > > Hi all, > > > > I've filed two related bugs last week which deal with this "problem": > > > > some methods do not check for ArrayIndexOutOfBoundExceptions... > > > > I think they should do this and throw a NoSuchAtomException or > > a NoSuchBondException... > > > > This will give some overhead, but give clearer output when things fail. > > > > Does anyone disagree? Otherwise I'll fix these bugs next week. > > > > In general, I think the core classes should never throw RunTimeException > > in any case other than bugs in the JVM. What is your opinion on this? > > While I do generally aggree, I would also like to point out an important > performance issue. The core classes are in the heart of our system and > should be as concise and slim as possible. > > Any case in the past time when I got ArrayIndexOutOfBoundsException this > was a programming error of mine. When you iterate of the Atoms of a > Molecule, you always get the correct number of Atoms by getAtomCount() > > And if you really want to be sure, you have to use a AtomEnumeration. > > But again, basically we could do the checking, provided that if does not > quench performance. It does not really matter to me what choice we make, but I think that we should make things more clear... If the core classes do not bother about ArrayIndexOutOfBoundsException's then why do we have this NoSuchAtomException? Shouldn't we drop that too then? And we should properly document things... If we choose this "check it yourselve" method, we should document that getAtom() uses i=0:... instead of i=1:... I'll write down a RFC for this. Egon |