在方法的 body 中抛出新异常与在方法的 header 中抛出异常有什么区别
what is the difference between throwing a new exception within a body of a method and throwing the exception in the header of the method
您好,我想知道相同方法的两种变体之间的区别和相似之处。
public string test(String value)
throw new testException();
和
public abstract String test(String value) throw new testException;
如果我的语法有误,请原谅我。
public abstract String test(String value) throw new testException;
没有意义。您可以做的最接近的事情是写
public abstract String test(String value) throws testException;
表示 test
是一个方法 可以 抛出 testException
。如果 testException
不是 RuntimeException
,那么它 必须 那样声明。但是在方法签名中添加 throws testException
只是说方法 可以 抛出该异常,它实际上并没有抛出。
在 java 中,每个方法都应使用以下语法指示它们是否抛出异常:
public String test(String value) throws testException
{
//your code here
//at some point you will throw the exception like this:
throw new testException();
}
如果你使用抽象方法,方法签名只需要包含throws
表达式,但是当你实现方法时,你需要在方法体中添加throw语句。
您好,我想知道相同方法的两种变体之间的区别和相似之处。
public string test(String value)
throw new testException();
和
public abstract String test(String value) throw new testException;
如果我的语法有误,请原谅我。
public abstract String test(String value) throw new testException;
没有意义。您可以做的最接近的事情是写
public abstract String test(String value) throws testException;
表示 test
是一个方法 可以 抛出 testException
。如果 testException
不是 RuntimeException
,那么它 必须 那样声明。但是在方法签名中添加 throws testException
只是说方法 可以 抛出该异常,它实际上并没有抛出。
在 java 中,每个方法都应使用以下语法指示它们是否抛出异常:
public String test(String value) throws testException
{
//your code here
//at some point you will throw the exception like this:
throw new testException();
}
如果你使用抽象方法,方法签名只需要包含throws
表达式,但是当你实现方法时,你需要在方法体中添加throw语句。