NNM report presenter (20 Views)
Reply
Occasional Contributor
david hummel_2
Posts: 4
Registered: ‎06-08-2000
Message 1 of 2 (20 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 )
Please use plain text.
Honored Contributor
Berlene Herren
Posts: 1,514
Registered: ‎10-11-1999
Message 2 of 2 (20 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
Please use plain text.
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