2015-07-20 4 views
0

Я хотел бы знать, что как я могу настроить индивидуальное исключение блока в java.i, он объяснит это в следующем примере.Как бросить индивидуальное исключение блока в Java

@login

//Below code snippet do log in functionality. 
mycode goes here 

String name="abc"; 
if name.equals("ABC") 
{ 
    enter to system ... 
} 

Console Out Помещенный

You have error on log in 

@Register

//Below code snippet do register functionality. 

mycode goes here 

пусть говорят в @login nnotation есть ошибка из моего code.java должна бросать его как хороший читаемый способ. Исключение должно быть похоже на регулярное исключение и где оно сгенерировано.i означает кодовый блок, в этом случае он регистрируется. Если регистр должен сказать, что у вас есть ошибка в регистровом кодовом блоке.

Также я не объявляю аннотацию поверх метода. В моем случае нет такого метода, и все обрабатывает аннотации. в качестве примера

Студент Класс

class student{ 
@login 
login related codes goes here 

@View Result 
view result related codes goes here 

@logout 
logout code goes here 

} 

В качестве примера можно рассмотреть выше класса как селен script.in сценариев мы не используем никаких methods.i хотите реализовать обратно конечный класс (аннотации), который дает и значимые ошибки в соответствующем кодовом блоке. (войти в систему, просмотреть результат, ...)

Когда пользователь записывает новый скрипт, он может повторно использовать мою аннотацию.

На самом деле это идея, которую я хочу реализовать. Потому что, если мне это нравится, это будет легко для моего приложения users.so я хотел бы знать, что это возможно, и если да, то как я могу это сделать. Если вы знаете другой способ, пожалуйста, дайте мне знать ваши идеи. Спасибо.

+0

На что не ответил http://docs.oracle.com/javase/tutorial/essential/exceptions/? –

+0

@JB Nizet да это, но я хочу реализовать индивидуальное исключение block.let say try catch block Я хочу реализовать что-то вроде подобного обработчика исключений для моего входа. там я не использую try catch block, но блок входа обрабатывает его и бросает исключение. Пожалуйста, если ваш непонятный мой вопрос, дайте мне знать. – gihan

+0

Так вы пытаетесь сделать обработку исключений без блока try/catch? Мне трудно задаться вопросом. – aconkey

ответ

1

Я не уверен, я полностью понимаю вопрос, но если вы ищете для создания пользовательских исключений, вы можете сделать следующее:

if name.equals("ABC") { 
    // do something 
} else { 
    throw new CustomException("Name did not equal 'ABC'"); 
} 

где обычай исключение определяется как:

public class CustomException extends Exception { 

    public CustomException(String msg) { 
     super(msg); 
    } 
} 

И тогда там, где вам нужно обработать исключение, оно будет выглядеть следующим образом:

try { 
    // do something that might throw a CustomException 
} catch (CustomException ce) { 
    ce.printStackTrace(); 
    // or do something more useful to handle the exception 
} 

И если вы идете по этому маршруту, я бы назвал его чем-то иным, чем CustomException, назовите его чем-то, что имеет отношение к проблеме, к которой относится это исключение, например NameNotEqualException.

+0

Я хочу что-то подобное этому, но мои исключения обрабатываются аннотацией annotation.login, ответственным за обработку его нижнего блока кода, и если это ошибка, которую я хочу напечатать, что «ошибка была в логине». – gihan

+0

От каких аннотаций '@ login' и' @ register'? Что они делают в точности? – aconkey

+0

let think Я создал пользовательскую аннотацию login.and каждый раз, когда разработчик реализует связанные с функцией входа в систему stuff.he должен объявить аннотацию @login поверх своего кода. Как и мой вопрос. И если есть ошибки в этой системе кода, вы должны ее распечатать «ошибка была при входе в систему» ​​с фактической ошибкой исходящего прохода. Примечание: вход в систему и регистрация все еще просто идея. I отредактирует мой код, тогда вы сможете получить четкое представление. – gihan

Смежные вопросы