FileDocCategorySizeDatePackage
DatatypeException.javaAPI DocApache Xerces 3.0.13608Fri Sep 14 20:33:56 BST 2007org.apache.xerces.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 arguments, for error message substitution.
xerces.internal
author
Sandy Gao, IBM
version
$Id: DatatypeException.java 572086 2007-09-02 18:26:08Z mrglavas $

Fields Summary
static final long
serialVersionUID
Serialization version.
protected final String
key
protected final 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("org.apache.xerces.impl.msg.XMLSchemaMessages");
        if (resourceBundle == null)
            throw new MissingResourceException("Property file not found!", "org.apache.xerces.impl.msg.XMLSchemaMessages", key);

        String msg = resourceBundle.getString(key);
        if (msg == null) {
            msg = resourceBundle.getString("BadMessageKey");
            throw new MissingResourceException(msg, "org.apache.xerces.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;