Я нашел это в посте здесь :
Когда следует использовать try-catch?
оператор try-catch следует использовать в любое время, когда вы хотите скрыть ошибки от пользователя, или в любое время, когда вы хотите создавать пользовательские ошибки в интересах своих пользователей. Если вы еще не поняли этого, при выполнении оператора try-catch обычный браузерный механизм обработки ошибок будет отключен.
Вероятно, вы можете увидеть возможные преимущества при создании больших приложений. Отладка всех возможных обстоятельств в потоке любого приложения часто отнимает много времени, и многие возможности могут быть случайно упущены. Конечно, при правильном тестировании на ошибки ни одна область не должна быть пропущена. Но оператор try-catch работает как хороший запасной вариант в тех областях вашего кода, которые могут потерпеть неудачу при необычных обстоятельствах, которые не были предусмотрены во время разработки.
Другое преимущество, предоставляемое оператором try-catch, заключается в том, что оно скрывает чрезмерно технические сообщения об ошибках от пользователей, которые так или иначе не будут их понимать.
Лучшее время для использования try-catch - это фрагменты кода, в которых, как вы подозреваете, будут возникать ошибки, не зависящие от вас по каким-либо причинам.
Когда следует избегать try-catch?
Вы не должны использовать инструкцию try-catch, если знаете, что произойдет ошибка, потому что в этом случае вы бы хотели отладить проблему, а не маскировать ее. Оператор try-catch должен выполняться только в тех разделах кода, в которых вы подозреваете, что могут возникнуть ошибки, и из-за огромного числа возможных обстоятельств вы не можете полностью проверить, будет ли возникать ошибка или когда это произойдет. В последнем случае было бы целесообразно использовать try-catch.
Вы можете создать компонент DIV
с помощью ]
.
По умолчанию
будет генерировать SPAN в коде HTML.
Однако, если вы укажете layout = "block"
, то компонент будет DIV
в сгенерированном HTML-коде.
<h:panelGroup layout="block"/>
Помимо компонента
(что немного удивило меня), вы можете использовать
с параметром escape, установленным на false
, чтобы генерировать любую разметку, которую вы хотите. Например:
<f:verbatim escape="true">
<div id="blah"></div>
</f:verbatim>
Имейте в виду, что это немного менее элегантно, чем решение panelGroup
, так как вам нужно сгенерировать это как для начального, так и для конечного тегов, если вы хотите обернуть любой из вашего JSF-кода с помощью тег div
.
В качестве альтернативы, все основные UI Framework имеют тег компонента div
, или вы можете написать свой собственный.