public class CircleWithException {
private double radius;
private static int numberOfObjects;
public CircleWithException() {
this(1.0);
}
public CircleWithException(double radius) {
setRadius(radius);
numberOfObjects++;
}
public void setRadius(double radius) {
if (radius >= 0)
this.radius = radius;
else
throw new IllegalArgumentException("Radius cannot be negative");
}
public double getRadius() {
return radius;
}
public static int getNumberOfObjects() {
return numberOfObjects;
}
}
public class Test {
public static void main(String[] args) {
try {
CircleWithException c1 = new CircleWithException(5);
CircleWithException c0 = new CircleWithException();
CircleWithException c2 = new CircleWithException(-5);
CircleWithException c3 = new CircleWithException(0);
System.out.println(c3.getRadius());
} catch (IllegalArgumentException ex) {
System.out.println(ex.getMessage());
System.out.println(ex.toString());
ex.printStackTrace();
}
System.out.println(CircleWithException.getNumberOfObjects());
}
}
"D:\java 12.0\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\lib\idea_rt.jar=51590:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\bin" -Dfile.encoding=UTF-8 -classpath D:\IDEA\out\production\IDEA Test
5.0
1.0
Radius cannot be negative
java.lang.IllegalArgumentException: Radius cannot be negative
java.lang.IllegalArgumentException: Radius cannot be negative
at CircleWithException.setRadius(CircleWithException.java:16)
at CircleWithException.<init>(CircleWithException.java:9)
at Test.main(Test.java:9)
2
Process finished with exit code 0