ArgPrinter.java |
package lectures.exceptions; import util.annotations.WebDocuments; /** * EXECPTIONS * The user of this program is expected to enter an argument to main, which this program simply prints. * Run this program. See the error message. * * In the Eclipse menu, go to Run->"Run Configurations...", go to the Arguments tab, and in * Program Arguments textbox enter some text within quotes if if it has space. Run the * program again- the error goes away. * * */ @WebDocuments({"Lectures/Exceptions.pptx", "Lectures/Exceptions.pdf", "Videos/Exceptions.avi"}) public class ArgPrinter { public static void main(String[] args) { System.out.println(args[0]); } } /** * Now you understand how to give a program arguments in Eclipse. If you were running * your program outside of Eclipse, you would just write the arguments in the command * line after the name of your program, like this: * "java ArgPrinter argument" * Let us focus on the error when you get when you do not provide an argument. * Remove the command line argument in run configurations and run the program * again. * * (T/F) Java does subscript checking, that is, it checks whether the index used to * access an array named a is in the range 0 to a.length-1. * * (T/F) Subscript checking is inefficient if programmers code carefully enough to * never get an error. * * * Not all languaqes do subscript checking. In those languages, if an array is accessed * illegally, the program often fails silently or manifests some later error * caused by the illegal access, if some nonsensical value gets read past the * end of the array. * * (T/F) For programmers testing the program to identify bugs, * the array index out of bounds error message is more useful than one that * simply says "program failed". * * (T/F) For end users trying to understand how to use the program, * the error message is more useful than one that simply says "program failed" * * In regards to the last question, consider whether a user of a program (who probably * does not have the source code and might not even know how to code) would find it * useful to know that the program crashed due to an "array index out of bounds". * * Goto {@link SafeArgPrinter} */