/*
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package java.util;
/**
* Unchecked exception thrown when the argument corresponding to the format
* specifier is of an incompatible type.
*
* <p> Unless otherwise specified, passing a <tt>null</tt> argument to any
* method or constructor in this class will cause a {@link
* NullPointerException} to be thrown.
*
* @since 1.5
*/
public class
IllegalFormatConversionException extends
IllegalFormatException {
private static final long
serialVersionUID = 17000126L;
private char
c;
private
Class<?>
arg;
/**
* Constructs an instance of this class with the mismatched conversion and
* the corresponding argument class.
*
* @param c
* Inapplicable conversion
*
* @param arg
* Class of the mismatched argument
*/
public
IllegalFormatConversionException(char
c,
Class<?>
arg) {
if (
arg == null)
throw new
NullPointerException();
this.
c =
c;
this.
arg =
arg;
}
/**
* Returns the inapplicable conversion.
*
* @return The inapplicable conversion
*/
public char
getConversion() {
return
c;
}
/**
* Returns the class of the mismatched argument.
*
* @return The class of the mismatched argument
*/
public
Class<?>
getArgumentClass() {
return
arg;
}
// javadoc inherited from Throwable.java
public
String getMessage() {
return
String.
format("%c != %s",
c,
arg.
getName());
}
}