почему делает оператор возврата в работе выгоды попытки с 'бросками'

Используя цикл для итерации по jQuery одного элемента довольно неэффективно. При выборе идентификатора можно просто получить первый и уникальный элемент использования jQuery, добираются () или [] нотация.

var div = $("#thediv")[0];

// certain browsers have a bug such that scrollHeight is too small
// when content does not fill the client area of the element
var scrollHeight = Math.max(div.scrollHeight, div.clientHeight);
div.scrollTop = scrollHeight - div.clientHeight;
9
задан Omnipresent 6 November 2009 в 02:53
поделиться

3 ответа

В первом случае метод ничего не возвращает после блока catch или внутри блока catch. .

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

15
ответ дан 4 December 2019 в 12:19
поделиться

В первом случае, если возникает исключение, нет возвращаемого значения, функция просто отваливается от конца, что является ошибкой, например:

public String foo() {
  int x = 5;
}

Во втором случае функция гарантированно вернуть значение или выбросить исключение.

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

public SqlMapClientTemplate getSqlTempl() throws UivException, SQLException{
    SqlMapClientTemplate ret = null; //set a default value in case of error
    try {
        SqlMapClient scl = (SqlMapClient) ApplicationInitializer.getApplicationContext().getBean("MySqlMapClient");
        DataSource dsc = (DataSource) ServiceLocator.getInstance().getDataSource(PIH_EIV_ORCL);
        ret = new SqlMapClientTemplate (dsc, scl);
    }
    catch (NamingException ne)
    {
        log.error(ne.getMessage(), ne);
    }
    return ret;
}
1
ответ дан 4 December 2019 в 12:19
поделиться

Как упоминал Бхушан, компилятор может видеть в этом случае, что что-то всегда будет происходить там будет возврат или исключение. В вашем первом случае, если вы получите исключение именования, вы окажетесь в неоднозначном состоянии,

1
ответ дан 4 December 2019 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: