La génération d'une exception s'effectue par l'instanciation de la classe Exception ou de l'une de ses nombreuses dérivées et par l'utilisation du mot clé throw.

throw new ConstructeurClasseException();

// déclenchement d'une exception
throw new Exception();

// déclenchement d'une exception DataFormatException
// descendant de la classe Exception;
throw new DataFormatException("Mauvais format de données !"); // propagation d'une exception en cours throw e;

L'expression new ConstructeurClasseException() permet d'allouer et d'initialiser un objet de la classe d'exception appropriée qui est ensuite lancé par throw.

Toutes les classes d'exception descendant de la classe Throwable, n'importe quel type d'exception (sous-classe Exception) et d'erreur (sous-classe Error) peut être lancé par la commande throw.
Néanmoins, il est préférable de se contenter des seules exceptions contrôlées.

En outre, une exception peut être déclenchée n'importe où dans une méthode.

Cependant, le déclenchement d'une exception dans une méthode nécessite de le signaler par l'intermédiaire du mot clé throws dans la déclaration de méthode, ou d'englober la méthode dans un bloc try.