#java #android #system.exit
#java #Android #system.exit
Вопрос:
Для Android я запрограммировал приложение, в котором задается строка, которая разрезается на более мелкие строки и сохраняется в массиве строк всегда после дефиса. Это происходит только после нажатия кнопки, и все работает, если данная строка имеет правильный формат.
В случае, если кто-то ввел неверный ввод (возможно, без дефисов или около того), возникает исключение. Я хотел бы обработать исключение таким образом, чтобы на этом этапе останавливался только код Java, и никакой код не выполнялся до тех пор, пока кнопка не будет нажата снова?
Есть ли способ сделать это, поскольку system.exit() полностью закрывает все, и я не знаю никакой альтернативы…
Помимо этого особого случая, было бы неплохо узнать, возможно ли это вообще. Например, остановите метод, как только некоторая определенная переменная int станет -10 или около того…
Заранее спасибо за вашу помощь
Комментарии:
1. javatpoint.com/try-catch-block , это поможет вам понять, как обрабатывать исключение во время выполнения и закрывать приложение, когда оно возникает.
2. к сожалению, нет. Я использую try … catch для обработки исключения. Но это не то, что я хочу, поскольку это не позволяет прекратить выполнение кода Java на данном этапе. Как я уже сказал, в данном конкретном случае это не проблема. Я хочу остановить программу в разных точках с исключением или без исключения. И я бы предпочел не делать этого с большим количеством if else…
Ответ №1:
Я рекомендую использовать обработчики исключений try-catch. но если вы хотите остановить выполнение действия, используйте это, когда вы хотите, чтобы действие прекратилось :
finish();
или используйте return, чтобы остановить метод без закрытия действия
return;
если ваше приложение возвращает что-то, используйте:
return null;
Комментарии:
1. Спасибо, я уже пробовал return, так как это самое очевидное, что нужно сделать. Однако, я, должно быть, сделал что-то не так во время тестирования. Во всяком случае, это работает. И опять же, это не означает замену try-catch.