lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Busch (JIRA)" <>
Subject [jira] Created: (LUCENE-939) Check for boundary conditions in FieldInfos
Date Fri, 22 Jun 2007 01:32:25 GMT
Check for boundary conditions in FieldInfos

                 Key: LUCENE-939
             Project: Lucene - Java
          Issue Type: Improvement
            Reporter: Michael Busch
            Assignee: Michael Busch
            Priority: Trivial
             Fix For: 2.3

In FieldInfos there are three methods in which we don't check for
boundary conditions but catch e. g. an IndexOutOfBoundsException
or a NPE. I think this isn't good code style and is probably not
even faster than checking explicitly.

"Exceptions should not be used to alter the flow of a program as 
part of normal execution."

Also this can be irritating when you're trying to debug an 
IndexOutOfBoundsException that is thrown somewhere else in your
program and you place a breakpoint on that exception.

The three methods are:

  public int fieldNumber(String fieldName) {
    try {
      FieldInfo fi = fieldInfo(fieldName);
      if (fi != null)
        return fi.number;
    catch (IndexOutOfBoundsException ioobe) {
      return -1;
    return -1;

  public String fieldName(int fieldNumber) {
    try {
      return fieldInfo(fieldNumber).name;
    catch (NullPointerException npe) {
      return "";
  public FieldInfo fieldInfo(int fieldNumber) {
    try {
      return (FieldInfo) byNumber.get(fieldNumber);
    catch (IndexOutOfBoundsException ioobe) {
      return null;

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message