**重複している可能性があります。 自分でExceptionを書くにはどうしたらいいのでしょうか
Javaで独自の例外を作りたいのですが、どうすればいいですか?
...
try{
...
String word=reader.readLine();
if(word.contains(" "))
/*create custom exception*/
}
catch(){
カスタム例外を throw new...
で作成すると、unreported exception...must be caught or declared to be thrown
というエラーが発生します。
例えば、Exception
クラスを継承したカスタム例外クラスを作成することができるはずです。
class WordContainsException extends Exception
{
// Parameterless Constructor
public WordContainsException() {}
// Constructor that accepts a message
public WordContainsException(String message)
{
super(message);
}
}
使用例:
try
{
if(word.contains(" "))
{
throw new WordContainsException();
}
}
catch(WordContainsException ex)
{
// Process message however you would like
}
例外は、[Exception`][1]を継承していることを除けば、他のクラスと同様のクラスです。つまり,独自のクラスを作成すると
public class MyCustomException extends Exception
を使ってそのようなインスタンスを投げることができます。
throw new MyCustomException( ... );
//using whatever constructor params you decide to use
また、thisは面白い読み物かもしれません。
[1]: http://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html