48 lines
1.5 KiB
Java
48 lines
1.5 KiB
Java
|
NegativeLength Exception
|
||
|
|
||
|
import java.io.*;
|
||
|
public class NegativeLengthException extends Exception {
|
||
|
|
||
|
/** Test NegativeLengthException */
|
||
|
|
||
|
public static void main(String[] args) {
|
||
|
try {
|
||
|
int lineLength = readLength();
|
||
|
for(int i=0; i System.out.print("*");
|
||
|
}
|
||
|
System.out.println();
|
||
|
} catch (NegativeLengthException nle) {
|
||
|
System.out.println("NegativeLengthException: " +
|
||
|
nle.getMessage());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public NegativeLengthException() {
|
||
|
super("Negative dimensions not permitted.");
|
||
|
}
|
||
|
|
||
|
public NegativeLengthException(String message) {
|
||
|
super(message);
|
||
|
}
|
||
|
|
||
|
// readLength catches IOExceptions locally but lets the
|
||
|
// calling method handle NegativeLengthExceptions.
|
||
|
private static int readLength() throws NegativeLengthException {
|
||
|
BufferedReader in = new BufferedReader(
|
||
|
new InputStreamReader(System.in));
|
||
|
System.out.print("Enter length: ");
|
||
|
System.out.flush();
|
||
|
int len = 0;
|
||
|
try {
|
||
|
String line = in.readLine();
|
||
|
len = Integer.parseInt(line);
|
||
|
if (len < 0) {
|
||
|
throw new NegativeLengthException();
|
||
|
}
|
||
|
} catch (IOException ioe) {
|
||
|
System.out.println("Problem reading from keyboard");
|
||
|
}
|
||
|
return(len);
|
||
|
}
|
||
|
}
|