mirror of
https://github.com/fankes/JSON-java-compat.git
synced 2025-09-06 18:55:30 +08:00
67 lines
1.7 KiB
Java
67 lines
1.7 KiB
Java
/**
|
|
*
|
|
*/
|
|
package org.json.junit.data;
|
|
|
|
import java.io.Closeable;
|
|
import java.io.IOException;
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
|
/**
|
|
* Object for testing the exception handling in {@link org.json.JSONObject#populateMap}.
|
|
*
|
|
* @author John Aylward
|
|
*/
|
|
public class ExceptionalBean {
|
|
/**
|
|
* @return a closeable.
|
|
*/
|
|
public Closeable getCloseable() {
|
|
// anonymous inner class did not work...
|
|
return new MyCloseable();
|
|
}
|
|
|
|
/**
|
|
* @return Nothing really. Just can't be void.
|
|
* @throws IllegalAccessException
|
|
* always thrown
|
|
*/
|
|
public int getIllegalAccessException() throws IllegalAccessException {
|
|
throw new IllegalAccessException("Yup, it's illegal");
|
|
}
|
|
|
|
/**
|
|
* @return Nothing really. Just can't be void.
|
|
* @throws IllegalArgumentException
|
|
* always thrown
|
|
*/
|
|
public int getIllegalArgumentException() throws IllegalArgumentException {
|
|
throw new IllegalArgumentException("Yup, it's illegal");
|
|
}
|
|
|
|
/**
|
|
* @return Nothing really. Just can't be void.
|
|
* @throws InvocationTargetException
|
|
* always thrown
|
|
*/
|
|
public int getInvocationTargetException() throws InvocationTargetException {
|
|
throw new InvocationTargetException(new Exception("Yup, it's illegal"));
|
|
}
|
|
|
|
/** My closeable class. */
|
|
public static final class MyCloseable implements Closeable {
|
|
|
|
/**
|
|
* @return a string
|
|
*/
|
|
public String getString() {
|
|
return "Yup, it's closeable";
|
|
}
|
|
|
|
@Override
|
|
public void close() throws IOException {
|
|
throw new IOException("Closing is too hard!");
|
|
}
|
|
}
|
|
}
|