Незаконный метод называется - PullRequest
3 голосов
/ 01 апреля 2012

У меня есть класс Java, который обрабатывает как однозначные, так и многозначные данные. Поэтому он предоставляет два метода: getValue() и getValues(). Однако я хочу выдать какое-то исключение, когда метод getValue вызывается для многозначных данных. Какой наиболее подходящий класс исключений я могу использовать? Я чувствую, что IllegalAccessException не подходит, потому что я не использую рефлексию или любую другую технику обнаружения; ни IllegalArgumentException не подходит, потому что я не передаю аргументы как таковые.

Ответы [ 3 ]

16 голосов
/ 01 апреля 2012

UnsupportedOperationException - наиболее распространенное и универсальное непроверенное исключение времени выполнения в Java.

http://docs.oracle.com/javase/6/docs/api/java/lang/UnsupportedOperationException.html

7 голосов
/ 01 апреля 2012

java.lang.IllegalStateException является лучшим стандартным исключением для этого.

JavaDoc говорит:

Сигналы о том, что метод был вызван в недопустимое или неподходящее время. Другими словами, среда Java или приложение Java не находятся в надлежащем состоянии для запрошенной операции.

В вашем случае это означает, что вызванный метод был вызван в неподходящее время.

0 голосов
/ 01 апреля 2012

Вы можете сделать свое собственное исключение, чтобы бросить специально для этого класса, попробуйте посмотреть по этой ссылке

Вы могли бы сделать что-то вроде этого:

class getValException extends Exception
{
    public getValException(String message) 
    {
        super(message);
    }
}
...