<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.rodrigogml.eng.br/index.php?action=history&amp;feed=atom&amp;title=Exce%C3%A7%C3%B5es_%26_Tratamento</id>
	<title>Exceções &amp; Tratamento - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.rodrigogml.eng.br/index.php?action=history&amp;feed=atom&amp;title=Exce%C3%A7%C3%B5es_%26_Tratamento"/>
	<link rel="alternate" type="text/html" href="https://wiki.rodrigogml.eng.br/index.php?title=Exce%C3%A7%C3%B5es_%26_Tratamento&amp;action=history"/>
	<updated>2026-05-06T13:35:53Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.37.0</generator>
	<entry>
		<id>https://wiki.rodrigogml.eng.br/index.php?title=Exce%C3%A7%C3%B5es_%26_Tratamento&amp;diff=77&amp;oldid=prev</id>
		<title>Rodrigogml: /* Usabilidade */</title>
		<link rel="alternate" type="text/html" href="https://wiki.rodrigogml.eng.br/index.php?title=Exce%C3%A7%C3%B5es_%26_Tratamento&amp;diff=77&amp;oldid=prev"/>
		<updated>2023-07-19T21:25:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Usabilidade&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Edição das 21h25min de 19 de julho de 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;Linha 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Usabilidade ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Usabilidade ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Os construtores das exception &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;costumam aceitar &lt;/del&gt;3 argumentos:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Os construtores das exception &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;aceitam ao menos &lt;/ins&gt;3 argumentos:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;exceptionCode&amp;#039;&amp;#039;&amp;#039; - Deve ser passado o código da exception. Esse código pode ser utilizado para identificar precisamente um erro do sistema, ajudando tanto equipes de suporte a entender o que está se passando, quanto permitir um tratamento diferenciado em outra parte do software. Além disso esse código é procurado nos arquivos de Bundle para &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;exibir &lt;/del&gt;a mensagem de erro para o usuário.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;exceptionCode&amp;#039;&amp;#039;&amp;#039; - Deve ser passado o código da exception. Esse código pode ser utilizado para identificar precisamente um erro do sistema, ajudando tanto equipes de suporte a entender o que está se passando, quanto permitir um tratamento diferenciado em outra parte do software. Além disso esse código é procurado nos arquivos de Bundle para &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;permitir &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;internacionalização da &lt;/ins&gt;mensagem de erro para o usuário.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;params[]&amp;#039;&amp;#039;&amp;#039; - permite passar valores específicos que serão utilizados dentro da mensagem de bundle do erro. Por exemplo, a mensagem do erro é &amp;quot;O valor do campo &amp;#039;${0}&amp;#039; é inválido!&amp;quot;, ao passar o valor &amp;#039;&amp;#039;new String[]{ &amp;quot;Nome&amp;quot; }&amp;#039;&amp;#039; a mensagem exibida para o usuário será &amp;quot;O valor do campo &amp;#039;Nome&amp;#039; é inválido!&amp;quot;. Verifique o funcionamento das substituições na página do módulo de Bundle: [[RFWBundle]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;params[]&amp;#039;&amp;#039;&amp;#039; - permite passar valores específicos que serão utilizados dentro da mensagem de bundle do erro. Por exemplo, a mensagem do erro é &amp;quot;O valor do campo &amp;#039;${0}&amp;#039; é inválido!&amp;quot;, ao passar o valor &amp;#039;&amp;#039;new String[]{ &amp;quot;Nome&amp;quot; }&amp;#039;&amp;#039; a mensagem exibida para o usuário será &amp;quot;O valor do campo &amp;#039;Nome&amp;#039; é inválido!&amp;quot;. Verifique o funcionamento das substituições na página do módulo de Bundle: [[RFWBundle]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;Throwable&amp;#039;&amp;#039;&amp;#039; - permite fornecer a exception original para que o desenvolvedor tenha a stack completa do problema. &amp;#039;&amp;#039;&amp;#039;Note que este atributo deve ser tratado como obrigatório sempre que houver uma exception antecessora.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;Throwable&amp;#039;&amp;#039;&amp;#039; - permite fornecer a exception original para que o desenvolvedor tenha a stack completa do problema. &amp;#039;&amp;#039;&amp;#039;Note que este atributo deve ser tratado como obrigatório sempre que houver uma exception antecessora.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rodrigogml</name></author>
	</entry>
	<entry>
		<id>https://wiki.rodrigogml.eng.br/index.php?title=Exce%C3%A7%C3%B5es_%26_Tratamento&amp;diff=76&amp;oldid=prev</id>
		<title>Rodrigogml: /* RFWException */</title>
		<link rel="alternate" type="text/html" href="https://wiki.rodrigogml.eng.br/index.php?title=Exce%C3%A7%C3%B5es_%26_Tratamento&amp;diff=76&amp;oldid=prev"/>
		<updated>2023-07-19T21:22:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;RFWException&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Edição das 21h22min de 19 de julho de 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot;&gt;Linha 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{stop|Toda Exceção causa RollBack|Note que por padrão o RFW interpreta que qualquer &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;método &lt;/del&gt;que &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;lance uma exceção &lt;/del&gt;não &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;executou &lt;/del&gt;como esperado e força um Rollback. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A classe &amp;#039;&amp;#039;&amp;#039;RFWException&amp;#039;&amp;#039;&amp;#039; tem &lt;/del&gt;a annotation do EJB:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{stop|Toda Exceção causa RollBack|Note que por padrão&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, quando utilizado os módulos J2EE, &lt;/ins&gt;o RFW&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, através da [[SMInterceptor]], &lt;/ins&gt;interpreta que qualquer &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;retorno com exceção significa &lt;/ins&gt;que não &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;foi executado &lt;/ins&gt;como esperado e força um Rollback.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;No J2EE, quando queremos que a exception cause o rollback automaticamente, sem a utilização de Interceptors, a Exception deve ter &lt;/ins&gt;a annotation do EJB:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;@ApplicationException(rollback = true)&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;@ApplicationException(rollback = true)&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Como o módulo RFW.Kernel é proibido de ter dependências externas, nenhuma exception contém esta tag. Se não pretender usar o [[SMInterceptor]] mas desejar que a fachada execute o rollback, você terá de utilizar exceptions personalizadas no seu projeto com essa annotation.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rodrigogml</name></author>
	</entry>
	<entry>
		<id>https://wiki.rodrigogml.eng.br/index.php?title=Exce%C3%A7%C3%B5es_%26_Tratamento&amp;diff=45&amp;oldid=prev</id>
		<title>Rodrigogml: /* Usabilidade */</title>
		<link rel="alternate" type="text/html" href="https://wiki.rodrigogml.eng.br/index.php?title=Exce%C3%A7%C3%B5es_%26_Tratamento&amp;diff=45&amp;oldid=prev"/>
		<updated>2023-06-27T14:27:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Usabilidade&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pt-BR&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Edição anterior&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Edição das 14h27min de 27 de junho de 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot;&gt;Linha 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linha 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Os construtores das exception costumam aceitar 3 argumentos:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Os construtores das exception costumam aceitar 3 argumentos:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;exceptionCode&amp;#039;&amp;#039;&amp;#039; - Deve ser passado o código da exception. Esse código pode ser utilizado para identificar precisamente um erro do sistema, ajudando tanto equipes de suporte a entender o que está se passando, quanto permitir um tratamento diferenciado em outra parte do software. Além disso esse código é procurado nos arquivos de Bundle para exibir a mensagem de erro para o usuário.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;exceptionCode&amp;#039;&amp;#039;&amp;#039; - Deve ser passado o código da exception. Esse código pode ser utilizado para identificar precisamente um erro do sistema, ajudando tanto equipes de suporte a entender o que está se passando, quanto permitir um tratamento diferenciado em outra parte do software. Além disso esse código é procurado nos arquivos de Bundle para exibir a mensagem de erro para o usuário.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;**; Como alternativa você pode passar a mensagem de erro diretamente neste campo, pois, sempre que o código de erro não for encontrado no bundle o próprio código será utilizado como mensagem. Tenha em mente apenas que ao fazer isso você compromete a internacionalização da aplicação e impede que a exception seja detectada de forma precisa em outras partes do sistema.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;params[]&amp;#039;&amp;#039;&amp;#039; - permite passar valores específicos que serão utilizados dentro da mensagem de bundle do erro. Por exemplo, a mensagem do erro é &amp;quot;O valor do campo &amp;#039;${0}&amp;#039; é inválido!&amp;quot;, ao passar o valor &amp;#039;&amp;#039;new String[]{ &amp;quot;Nome&amp;quot; }&amp;#039;&amp;#039; a mensagem exibida para o usuário será &amp;quot;O valor do campo &amp;#039;Nome&amp;#039; é inválido!&amp;quot;. Verifique o funcionamento das substituições na página do módulo de Bundle: [[RFWBundle]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;params[]&amp;#039;&amp;#039;&amp;#039; - permite passar valores específicos que serão utilizados dentro da mensagem de bundle do erro. Por exemplo, a mensagem do erro é &amp;quot;O valor do campo &amp;#039;${0}&amp;#039; é inválido!&amp;quot;, ao passar o valor &amp;#039;&amp;#039;new String[]{ &amp;quot;Nome&amp;quot; }&amp;#039;&amp;#039; a mensagem exibida para o usuário será &amp;quot;O valor do campo &amp;#039;Nome&amp;#039; é inválido!&amp;quot;. Verifique o funcionamento das substituições na página do módulo de Bundle: [[RFWBundle]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;Throwable&amp;#039;&amp;#039;&amp;#039; - permite fornecer a exception original para que o desenvolvedor tenha a stack completa do problema. &amp;#039;&amp;#039;&amp;#039;Note que este atributo deve ser obrigatório sempre que houver uma exception antecessora.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;#039;&amp;#039;&amp;#039;Throwable&amp;#039;&amp;#039;&amp;#039; - permite fornecer a exception original para que o desenvolvedor tenha a stack completa do problema. &amp;#039;&amp;#039;&amp;#039;Note que este atributo deve ser &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tratado como &lt;/ins&gt;obrigatório sempre que houver uma exception antecessora.&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{stop|Padrão dos Códigos Válidos|Para que o RFW interprete que o conteúdo passado é um código e que este deve ser procurado no bundle, ele deve satisfazer a seguinte expressão: &quot;[A-Z0-9_]+&quot;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;O motivo desse padrão é garantir que o RFW não perderá tempo procurando frases que não sejam chaves válidas para o bundle.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{nota|Ignorando o i18n|Como alternativa você pode passar a mensagem de erro diretamente neste campo, pois, sempre que o código de erro não for encontrado no bundle o próprio código será utilizado como mensagem.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Tenha em mente apenas que ao fazer isso você compromete a internacionalização da aplicação e, sem um código de identificação, impede que a exception seja detectada de forma precisa em outras partes do sistema.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Tipos de SubClasses ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Tipos de SubClasses ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rodrigogml</name></author>
	</entry>
	<entry>
		<id>https://wiki.rodrigogml.eng.br/index.php?title=Exce%C3%A7%C3%B5es_%26_Tratamento&amp;diff=8&amp;oldid=prev</id>
		<title>Rodrigogml: Criou página com &#039;O RFW oferece uma estrutura de exceções centralizadas para simplificar o desenvolvimento.   = RFWException =  &#039;&#039;&#039;RFWException&#039;&#039;&#039; é a classe principal de todas as exceções do sistema, qualquer classe de exceção do sistema deve estende-la. As únicas classes que não farão parte desta hierarquia são as classes de &#039;&#039;&#039;RunTimeException&#039;&#039;&#039;, explicadas mais a frente.   É recomendado que todos os métodos das fachadas da aplicação lancem esta - e apenas esta - classe...&#039;</title>
		<link rel="alternate" type="text/html" href="https://wiki.rodrigogml.eng.br/index.php?title=Exce%C3%A7%C3%B5es_%26_Tratamento&amp;diff=8&amp;oldid=prev"/>
		<updated>2022-11-16T21:45:52Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039;O RFW oferece uma estrutura de exceções centralizadas para simplificar o desenvolvimento.   = RFWException =  &amp;#039;&amp;#039;&amp;#039;RFWException&amp;#039;&amp;#039;&amp;#039; é a classe principal de todas as exceções do sistema, qualquer classe de exceção do sistema deve estende-la. As únicas classes que não farão parte desta hierarquia são as classes de &amp;#039;&amp;#039;&amp;#039;RunTimeException&amp;#039;&amp;#039;&amp;#039;, explicadas mais a frente.   É recomendado que todos os métodos das fachadas da aplicação lancem esta - e apenas esta - classe...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;O RFW oferece uma estrutura de exceções centralizadas para simplificar o desenvolvimento.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= RFWException =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;RFWException&amp;#039;&amp;#039;&amp;#039; é a classe principal de todas as exceções do sistema, qualquer classe de exceção do sistema deve estende-la. As únicas classes que não farão parte desta hierarquia são as classes de &amp;#039;&amp;#039;&amp;#039;RunTimeException&amp;#039;&amp;#039;&amp;#039;, explicadas mais a frente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É recomendado que todos os métodos das fachadas da aplicação lancem esta - e apenas esta - classe nos seus métodos. Isso garantirá uma compatibilidade melhor entre versões.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esta classe é abstrata e não pode ser lançada diretamente. Porém temos uma estrutura de classes herdeiras que devem ser utilizadas conforme a gravidade da exception. De acordo com a classe da exception que for instanciada o Framework dará tratamento diferenciado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{stop|Toda Exceção causa RollBack|Note que por padrão o RFW interpreta que qualquer método que lance uma exceção não executou como esperado e força um Rollback. A classe &amp;#039;&amp;#039;&amp;#039;RFWException&amp;#039;&amp;#039;&amp;#039; tem a annotation do EJB:&lt;br /&gt;
&amp;lt;pre&amp;gt;@ApplicationException(rollback = true)&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usabilidade ==&lt;br /&gt;
&lt;br /&gt;
* Os construtores das exception costumam aceitar 3 argumentos:&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;exceptionCode&amp;#039;&amp;#039;&amp;#039; - Deve ser passado o código da exception. Esse código pode ser utilizado para identificar precisamente um erro do sistema, ajudando tanto equipes de suporte a entender o que está se passando, quanto permitir um tratamento diferenciado em outra parte do software. Além disso esse código é procurado nos arquivos de Bundle para exibir a mensagem de erro para o usuário.&lt;br /&gt;
**; Como alternativa você pode passar a mensagem de erro diretamente neste campo, pois, sempre que o código de erro não for encontrado no bundle o próprio código será utilizado como mensagem. Tenha em mente apenas que ao fazer isso você compromete a internacionalização da aplicação e impede que a exception seja detectada de forma precisa em outras partes do sistema.&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;params[]&amp;#039;&amp;#039;&amp;#039; - permite passar valores específicos que serão utilizados dentro da mensagem de bundle do erro. Por exemplo, a mensagem do erro é &amp;quot;O valor do campo &amp;#039;${0}&amp;#039; é inválido!&amp;quot;, ao passar o valor &amp;#039;&amp;#039;new String[]{ &amp;quot;Nome&amp;quot; }&amp;#039;&amp;#039; a mensagem exibida para o usuário será &amp;quot;O valor do campo &amp;#039;Nome&amp;#039; é inválido!&amp;quot;. Verifique o funcionamento das substituições na página do módulo de Bundle: [[RFWBundle]].&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Throwable&amp;#039;&amp;#039;&amp;#039; - permite fornecer a exception original para que o desenvolvedor tenha a stack completa do problema. &amp;#039;&amp;#039;&amp;#039;Note que este atributo deve ser obrigatório sempre que houver uma exception antecessora.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tipos de SubClasses ==&lt;br /&gt;
&lt;br /&gt;
=== RFWCriticalException ===&lt;br /&gt;
RFWCriticalException deve ser usado para emitir um erro crítico. Erro crítico é aquele erro que jamais deveria ter acontecido! É aquela exceção geralmente causada por erro de lógica, como todos os NullPointerException e como a maioria dos RunTimeException (por não terem sido capturados e/ou tratados adequadamente). Esta exceção é tratada como um BUG no sistema. &lt;br /&gt;
&lt;br /&gt;
Esta exceção é reportada para a equipe de desenvolvimento. Por tanto, valide e trate os erros de ambiente para evitar o lançamento de exceções críticas em erros simples como:&lt;br /&gt;
* Erro ao acessar o banco de dados porque o mesmo estava desligado.&lt;br /&gt;
* Erro ao acessar um WS por problemas da internet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{nota|Exceções nativas são erros críticos|Por não saber diferenciar a gravidade das exceções nativas do Java, &amp;#039;&amp;#039;&amp;#039;toda exceção nativa, seja Exception ou RunTime, será tratada como uma RFWCriticalException&amp;#039;&amp;#039;&amp;#039;. Isso porque se o java chegou a enviar alguma exceção que não foi tratada significa uma situação não prevista no código, o que pode gerar BUGs sérios ou mal funcionamento.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RFWWarningException ===&lt;br /&gt;
&lt;br /&gt;
Esta classe representa um erro ao realizar o processamento. Não é um erro crítico, que represente uma falha de implementação, mas algo como falha de acesso, erro ao acessar o banco de dados (por estar desligado, não por erros de gramática SQL), erro ao acessar um WS por indisponibilidade de rede, etc. Não é uma mera validação dos dados entrados, mas sim uma indisponibilidade do ambiente que não permitiu que o processamento fosse realizado.&lt;br /&gt;
Este tipo de exceção é enviado para o desenvolvimento automaticamente, embora não seja um erro crítico (que impossibilite o funcionamento do sistema) o acontecimento frequente de Warnings pode ser considerado um erro do sistema.&lt;br /&gt;
&lt;br /&gt;
==== RFWSecurityException ====&lt;br /&gt;
&lt;br /&gt;
Estas exceções devem ser lançadas sempre que alguma operação for solicitada por por alguém sem acesso. Permitindo que a tentativa de acesso seja registrada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== RFWValidationException ===&lt;br /&gt;
&lt;br /&gt;
Exceção de validação é lançada sempre que algum pré-requisito de operação chamada não estiver completo. Por exemplo, chamar um método para inserir um cadastro e o campo obrigatório não foi preenchido, ou não tinha o tamanho adequado, etc. Cada validação do pré-requisito que falhou gera uma exceção de validação.&lt;br /&gt;
&lt;br /&gt;
=== RFWValidationGroupException ===&lt;br /&gt;
&lt;br /&gt;
Esta classe também é lançável como uma exceção e tem valor equivalente ao &amp;#039;&amp;#039;&amp;#039;RFWValidationException&amp;#039;&amp;#039;&amp;#039;, a vantagem desta classe é que ela suporta uma coleção de &amp;#039;&amp;#039;&amp;#039;RFWValidationException&amp;#039;&amp;#039;&amp;#039;. Assim, ao validar seus pré-requisitos uma determinada operação pode acusar mais de uma falha ao mesmo tempo.&lt;br /&gt;
&lt;br /&gt;
== RFWRunTimeException ==&lt;br /&gt;
&lt;br /&gt;
Assim como a classe &amp;#039;&amp;#039;&amp;#039;RFWException&amp;#039;&amp;#039;&amp;#039;, esta classe deve ser a classe pai para todas as exceções do tipo RunTime. E não devem ser usadas quando for possível usar alguma classe da hierarquia de &amp;#039;&amp;#039;&amp;#039;RFWException&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Só pense em utilizar exceções do tipo RunTime quando não for possível lançar uma &amp;#039;&amp;#039;&amp;#039;RFWException&amp;#039;&amp;#039;&amp;#039; comum. Como por exemplo ao implementar interfaces de outros componentes em que não se pode lançar nenhuma outra exceção.&lt;br /&gt;
&lt;br /&gt;
As exceções desse tipo são sempre tratadas como um erro crítico e serão reportadas à equipe de desenvolvimento.&lt;br /&gt;
&lt;br /&gt;
Esses erros não são obrigados a ter um código de erro (embora recomendável) e serão exibidos para o usuário com uma mensagem padrão caso o bundle não esteja disponível.&lt;/div&gt;</summary>
		<author><name>Rodrigogml</name></author>
	</entry>
</feed>