Should this be some kind of constant rather than a String, to facilitate future NLS? We could pass in an int code INVALID_URL and a string:
class NotSupportException(int code, String data )
toString() { switch(code) case INVALID_URL: "Invalid URL " + data}
etc.