FileDocCategorySizeDatePackage
DatatypeException.javaAPI DocJava SE 6 API3388Tue Jun 10 00:22:40 BST 2008com.sun.org.apache.xerces.internal.impl.dv

DatatypeException

public class DatatypeException extends Exception
Base class for datatype exceptions. For DTD types, the exception can be created from an error message. For Schema types, it needs an error code (as defined in Appendix C of the structure spec), plus an array of arguents, for error message substitution.
xerces.internal
author
Sandy Gao, IBM
version
$Id: DatatypeException.java,v 1.2.6.1 2005/09/12 10:59:45 neerajbj Exp $

Fields Summary
static final long
serialVersionUID
Serialization version.
protected String
key
protected Object[]
args
Constructors Summary
public DatatypeException(String key, Object[] args)
Create a new datatype exception by providing an error code and a list of error message substitution arguments.

param
key error code
param
args error arguments


                                    
         
        super(key);
        this.key = key;
        this.args = args;
    
Methods Summary
public java.lang.Object[]getArgs()
Return the list of error arguments

return
error arguments

        return args;
    
public java.lang.StringgetKey()
Return the error code

return
error code

        return key;
    
public java.lang.StringgetMessage()
Overrides this method to get the formatted&localized error message. REVISIT: the system locale is used to load the property file. do we want to allow the appilcation to specify a different locale?

        ResourceBundle resourceBundle = null;
        resourceBundle = PropertyResourceBundle.getBundle("com.sun.org.apache.xerces.internal.impl.msg.XMLSchemaMessages");
        if (resourceBundle == null)
            throw new MissingResourceException("Property file not found!", "com.sun.org.apache.xerces.internal.impl.msg.XMLSchemaMessages", key);

        String msg = resourceBundle.getString(key);
        if (msg == null) {
            msg = resourceBundle.getString("BadMessageKey");
            throw new MissingResourceException(msg, "com.sun.org.apache.xerces.internal.impl.msg.XMLSchemaMessages", key);
        }

        if (args != null) {
            try {
                msg = java.text.MessageFormat.format(msg, args);
            } catch (Exception e) {
                msg = resourceBundle.getString("FormatFailed");
                msg += " " + resourceBundle.getString(key);
            }
        } 

        return msg;