public class Test {
public static void main(String[] args) {
try {
method1();
method2();
method3();
} catch (NullPointerException e) {
System.out.println("Null");
} catch (ArithmeticException e) {
System.out.println("Arith");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Array");
}
}
public static void method1() {
int a = 10;
int b = 0;
System.out.println(a / b);
}
public static void method2() {
int[] array = new int[2];
array[5] = 10;
}
public static void method3() {
String s = null;
String m = s.toLowerCase();
}
}
Почему не отрабатывает программа? То есть почему только Arith в консоли я вижу? Потому что "выбран" method1? Чтобы такой код отработал каждый метод должен быть в отдельном try catch блоке?
В try вы располагаете блок кода
method1();
method2();
method3();
Как только в этом коде выбрасывается исключение, весь блок кода останавливаеся и переходит в бок catch
Если хотите продолжать работу даже когда method1 бросил исключение - делайте для него отдельный try
try {
method1();
} catch (ArithmeticException e) {
System.out.println("Arith");
}
try {
method2();
method3();
} catch (NullPointerException e) {
System.out.println("Null");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Array");
}
Ну и методы 2 и 3 тоже разносим на разные try блоки, если хотим выполнить каждый из них в любом случае. А еще лучше проверять корректность введенных аргументов внутри функции, но это уже другая история
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Нашел пример в интернете как работать с бд решил реализовать под свою задачуСоздал класс DBHelper:
Решил изучить эту ORM потому что на примерах она показалось мне легкимТак вот есть простой объект:
Есть DialogFragment который должен запускаться при открытии Activity, но возникла проблема, видно тормоза, думаю из-за того что DialogFragment грузиться вместе...
Есть форма (код ниже)При вставке валидного значения в поле с помощью Ctrl+V все работает - кнопка submit становиться доступной