Java 创建异常类;其他类别的不可视性
我的其他类对此包没有可见性。我还有三个类可能抛出其中一个异常,我不想将sans包声明上面的代码复制/粘贴到每个文件上。我想减少冗余并将其作为一个单独的文件Java 创建异常类;其他类别的不可视性,java,exception,custom-exceptions,Java,Exception,Custom Exceptions,我的其他类对此包没有可见性。我还有三个类可能抛出其中一个异常,我不想将sans包声明上面的代码复制/粘贴到每个文件上。我想减少冗余并将其作为一个单独的文件 如何使它们可见?将内部类更改为静态,即: package Exception; public class Exceptions { public class NoSpaceException extends RuntimeException { public NoSpaceException(){
如何使它们可见?将内部类更改为静态,即:
package Exception;
public class Exceptions {
public class NoSpaceException extends RuntimeException {
public NoSpaceException(){
super("There is not enough room in the set for another element.");
}
}
public class NotValidTypeException extends NullPointerException {
public NotValidTypeException(){
super("You can only add strings to a set.");
}
}
public class NoItemException extends NullPointerException {
public NoItemException(){
super("There is no next element.");
}
}
}
或者,如果不想更改任何内容,可以通过异常实例创建实例:
异常=新异常();
RuntimeException e=exceptions.new NoItemException()代码>
第一种方法更可取
另一个注意事项,考虑扩展比RunTimeExchange更具体的类(例如ILLalalAgMuMutExtExpRebug,ILLATALSTATE Excel等)。
如果您将您的异常类公开,它将是可访问的。@ CHATUX,它是公开的。那么它应该对其他类可见。我不明白为什么它不可见
public class Exceptions {
public static class NoSpaceException extends RuntimeException {
...
}
public static class NotValidTypeException extends RuntimeException {
...
}
public static class NoItemException extends RuntimeException {
...
}
}