Не работает Exception

210
25 декабря 2018, 06:20

Почему когда c условием в методе clickEquals при делении на ноль выходит из приложения(В приложении 'Calculyator' произошла ошибка),а без нее выводит Error как я хочу.

public String operator(String a, String b, String op) {
    double a1 = Double.valueOf(a);
    double b1 = Double.valueOf(b);
    double res = 0;
    try {
        switch (op) {
            case "+":
                res = a1 + b1;
                return String.valueOf(res);
            case "-":
                res = a1 - b1;
                return String.valueOf(res);
            case "*":
                res = a1 * b1;
                return String.valueOf(res);
            case "/":
                if (b1 != 0) {
                    res = a1 / b1;
                    return String.valueOf(res);
                } else
                    return "Error";
        }
     } catch (Exception e) {
        Log.e("error", e.getMessage());
        return null;
    }
    return String.valueOf(res);
    }
  public boolean getResult() {
      String[] operation = display.split(Pattern.quote(currentOperation));
      if (operation.length<2)
          return false;
      result = operator(operation[0], operation[1], currentOperation);
      return true;
  }
  public void clickEquals(View v) {
      if (!getResult())
          return;
      else
          txtv.setText(display + "=" + result);
  }
READ ALSO
Как сравнивать строки в Java?

Как сравнивать строки в Java?

В своей программе я использовал оператор == для сравнения строкНо я наткнулся на баг, и при замене == на equals он пропал

189
Объясните где ошибка!

Объясните где ошибка!

Помогите пожалуйста, вылезает ошибка:

156
Почему пишет &#171;приложение AppName остановлено&#187;?

Почему пишет «приложение AppName остановлено»?

Захотелось сделать приложение, которое будет в 15:45 включать звук на телефоне, а в 8:45 отключать звукЗахотелось реализовать через AsyncTask

135
Как обнулить цифры идущие после запятой?

Как обнулить цифры идущие после запятой?

Предположим у нас результатом деления оказалось число типа 2777777777

286