Re: NNM report presenter (36 Views)
Reply
Occasional Contributor
david hummel_2
Posts: 4
Registered: ‎06-08-2000
Message 1 of 2 (36 Views)

NNM report presenter

Report presenter now launches with a blank pane on the left side - java object error listed in box on lower left of browser- also reports fail. ( NNM on NT with all patches )
Honored Contributor
Berlene Herren
Posts: 1,514
Registered: ‎10-11-1999
Message 2 of 2 (36 Views)

Re: NNM report presenter

SYMPTOMS
Attempting to execute a Java Application without passing Command-Line or Program
Arguments, as your Java application expects, results in the following error:

ERROR: java.lang.ArrayIndexOutOfBoundsException

CAUSE
This is because when the Java program accesses the "args" array for the
Command-Line or Program arguments, it tries to get items from the array that are
out of the arrays bounds (the index used is higher than the number of array
items - 1).

RESOLUTION
==========

To fix this problem, you need to pass in Program Arguments or Command-Line
arguments when executing your Java program that expects them. The More
Information section below shows how to specify Program Arguments under the IDE.

You can also put a try-catch block around the code that accesses the program
arguments. This code should catch an ArrayIndexOutOfBoundsException.

STATUS
======

This behavior is by design.

MORE INFORMATION
================

When executing your Java program under the IDE that expects Command-Line or
Program arguments, you can select Settings from the Project menu, click the
Debug tab, and select Category:Program arguments to set the program arguments.
If you are using Visual J++ 1.0, then you can select Settings from the Build
menu, click the Debug tab, and select Category:Program Arguments to set the
program arguments.

Steps to Reproduce Behavior
---------------------------

1. Create a Java Project and include the following code snippet in it.

2. The following code snippet was taken from "Learn Java Now":

import java.io.*;

class App1_2
{
public static void main(String args[])
{

// uncomment the next line to make the program catch the exception:
// try {
int nMonth = Integer.parseInt(args[0]);
int nDay = Integer.parseInt(args[1]);
int nYear = Integer.parseInt(args[2]);

int nDayInYear = 0;

for (int nM = 0; nM < nMonth; nM++)
{
switch(nM)
{

case 4: case 6: case 9: case 11:
nDayInYear +=30;
break;

case 2:
nDayInYear +=28;

if (((nYear % 4) == 0) && ((nYear % 100) != 0))
{
nDayInYear++;
}
break;

default:
nDayInYear += 31;
}
}

nDayInYear += nDay;

System.out.print (nMonth + "-" + nDay + "-" + nYear);
System.out.println (" is day number "
+ nDayInYear
+ " in the year");
}

// uncomment this section to make the program catch the exception:
// } catch (ArrayIndexOutOfBoundsException e) {
// System.out.println("This program takes 3 parameters: ");
// System.out.println(" month day year.");
// }

}

3. Build the project and Execute it under the IDE.

4. The ArrayIndexOutofBoundsException error appears.

REFERENCES
==========

For the latest Knowledge Base articles and other support information on Visual
J++ and the SDK for Java, see the following page on the Microsoft Technical
Support site:

http://support.microsoft.com/support/visualj/

http://support.microsoft.com/support/java/


Berlene
http://www.mindspring.com/~bkherren/dobes/index.htm
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.