Possible Duplicate: Comment puis-je écrire une exception moi-même ?
<-- Fin du texte inséré automatiquement -->
Je voudrais créer une exception personnalisée en Java, comment faire ?
...
try{
...
String word=reader.readLine();
if(word.contains(" "))
/*create custom exception*/
}
catch(){
Lorsque je crée mon exception personnalisée avec throw new...
, j'obtiens l'erreur unreported exception...must be caught or declared to be thrown
Vous devriez pouvoir créer une classe d'exception personnalisée qui étend la classe [Exception
][1], par exemple :
class WordContainsException extends Exception
{
// Parameterless Constructor
public WordContainsException() {}
// Constructor that accepts a message
public WordContainsException(String message)
{
super(message);
}
}
Utilisation:
try
{
if(word.contains(" "))
{
throw new WordContainsException();
}
}
catch(WordContainsException ex)
{
// Process message however you would like
}
[1] : http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html
Une exception est une classe comme n'importe quelle autre classe, sauf qu'elle s'étend de [Exception
][1]. Ainsi, si vous créez votre propre classe
public class MyCustomException extends Exception
vous pouvez lancer une telle instance avec
throw new MyCustomException( ... );
//using whatever constructor params you decide to use
Et [ceci][2] pourrait être une lecture intéressante
[1] : http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html [2] : http://www.javaworld.com/javaworld/jw-07-1998/jw-07-exceptions.html
Vous devez définir votre exception ailleurs comme une nouvelle classe
public class YourCustomException extends Exception{
//Required inherited methods here
}
Ensuite, vous pouvez lancer et attraper YourCustomException autant que vous le souhaitez.