Creates a new instance of Exception. The next parameter is used internally and should always be null when passed by user code. This constructor does not automatically throw the newly-created Exception; the throw statement should be used for that purpose.
Exception thrown when passed argument is of wrong type.