| InitializationAndCheckedExceptions.java |
package lectures.exceptions.extra;
import util.annotations.WebDocuments;
import lectures.exceptions.AMissingArgumentException;
import lectures.exceptions.LinesReaderAndPrinterUsingProgrammerDefinedException;
/**
*
* Initialization Alternatives
* Usually it is a good idea to initialize a variable while declaring it, if its value
* can be computed at declaration time.
*
* How would you qualify this recommendation based on your knowledge of exceptions
* and following the instructions below?
*
*/
@WebDocuments({"Lectures/ExceptionsExtra.pptx", "Lectures/ExceptionsExtra.pdf", "Videos/ExceptionsExtra.avi"})
public class InitializationAndCheckedExceptions {
String[] anArgs = new String[] {"3"};
/*
* Try each of the three alternative declarations.
*/
// int numberOfInputLines = LinesReaderAndPrinterUsingProgrammerDefinedException.numberOfInputLines(anArgs);
// int numberOfInputLines = LinesReaderAndPrinter.numberOfInputLines(anArgs);
int numberOfInputLines; // no initialization
/**
* Example of initialization in constructor.
*/
public InitializationAndCheckedExceptions() {
try {
numberOfInputLines = LinesReaderAndPrinterUsingProgrammerDefinedException.numberOfInputLines(anArgs);
} catch (AMissingArgumentException e) {
e.printStackTrace();
}
}
}