我想在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
发布于 2011-12-08 06:49:53
关于创建自定义异常类的很好的答案。如果您打算重用有问题的异常,那么我将遵循他们的回答/建议。但是,如果您只需要抛出一个带有消息的快速异常,则可以就地使用基异常类。
String word=reader.readLine();
if(word.contains(" "))
/*create custom exeception*/
throw new Exception("My one time exception with some message!");
}
发布于 2011-12-08 06:47:43
因为您可以只创建和抛出异常,所以可以像这样简单
if ( word.contains(" ") )
{
throw new RuntimeException ( "Word contains one or more spaces" ) ;
}
如果您想要更正式,可以创建一个异常类
class SpaceyWordException extends RuntimeException
{
}
无论哪种方式,如果您使用RuntimeException
,您的新Exception
都将被取消选中。
发布于 2011-12-08 06:51:21
作为一个细心的程序员,经常会在特殊情况下抛出异常,值得一提的是一些通用的异常,如IllegalArgumentException
、IllegalStateException
和UnsupportedOperationException
。IllegalArgumentException
是我的最爱:
throw new IllegalArgumentException("Word contains blank: " + word);
https://stackoverflow.com/questions/8423700
复制相似问题