在Java中,观察到有一种RuntimeException在处理之后重新抛出一个公约Checked Exception.
这种方式有好的和坏的后果.当编译器强制要通过a处理某些东西时Checked Exception,开发人员可以通过捕获它并将其重新抛出来摆脱它RuntimeException.
有人可以解释这种情况是否可以被认为是一种好的做法?如果是这样,这种方法会不会出错,还是会使代码库不稳定?
我遇到的问题是PrimesFaces 3.4.1日历.当使用通过按钮或输入字段焦点激活的弹出日期选择器时,您只能选择工作正常,快乐日子的有效日期!
当您手动将日期添加到输入字段时,如果您添加一个无效的日期,PrimeFaces日历组件会将其转换为有效日期然后发送它,这意味着后端验证是不行的.以下一些有趣的翻译:
要重现这种疯狂,请看看PrimeFaces日历展示.
我已经看到使用该readOnlyInput='true'属性的解决方案,但这似乎只是防止在字段中输入字母而不是数字或斜杠.以下是我实施的日历的一个实例:
<p:calendar id="fldDateOfBirth"
value="#{pc_CreateUser.user.dateOfBirth}"
binding="#{pc_CreateUser.dobComp}"
navigator="true"
pattern="dd/MM/yyyy"
maxlength="10"
yearRange="-100"
validator="#{pc_CreateUser.validateDOB}"
title="#{msg.user_date_format_default_tip}"
converterMessage="#{msg.user_error_dob_invalid}"
readOnlyInput="true"
showOn="button" />
Run Code Online (Sandbox Code Playgroud)
解决方案明智我对任何建议持开放态度:
在此先感谢,这已经引起了我好几周的问题!
我在Eclipse Kepler中创建了一个新的Dynamic Web Project,因为这是我第一次使用IvyDE,我将一些依赖项用于测试它.这是我的ivy.xml:
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info
organisation="net.myorg"
module="mymodule"
status="integration">
</info>
<dependencies>
<dependency org="org.hibernate" name="hibernate-entitymanager" rev="4.2.3.Final"></dependency>
<dependency name="log4j" rev="1.2.17" org="log4j"></dependency>
</dependencies>
</ivy-module>
Run Code Online (Sandbox Code Playgroud)
已解决的依赖项,我可以在项目库中看到它们.
但在此之后,我的项目开始发出警告:
Description Resource Path Location Type
Classpath entry org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=myproject&ivyXmlPath=ivy.xml&confs=*&acceptedTypes=jar%2Cbundle%2Cejb%2Cmaven-plugin&alphaOrder=false&resolveInWorkspace=true&retrievedClasspath=true&retrievedClasspathPattern=lib%2F%5Btype%5Ds%2F%5Bartifact%5D-%5Brevision%5D.%5Bext%5D&retrievedClasspathSync=true&retrievedClasspathTypes=* will not be exported or published. Runtime ClassNotFoundExceptions may result. myproject P/myproject Classpath Dependency Validator Message
Run Code Online (Sandbox Code Playgroud)
因此,如果我理解正确,Eclipse会警告我类路径中的IvyDE条目与构建项目中的资源不对应.我想这是预期的行为,如果是这样,有没有办法从项目中删除此警告,而不禁用每个Classpath Dependency Validator Message?
我发现PowerScript的CHOOSE CASE语句非常有用,因为它使得代码比很多ifs和else ifs 更清晰.
这里有一个如何工作的例子,从上面的链接:
CHOOSE CASE weight
CASE IS < 16
Postage=Weight*0.30
Method="USPS"
CASE 16 to 48
Postage=4.50
Method="UPS"
CASE ELSE
Postage=25.00
Method="FedEx"
END CHOOSE
Run Code Online (Sandbox Code Playgroud)
a CASE 5 to 11是一样的CASE 5, 6, 7, 8, 9, 10, 11
请注意,CHOOSE CASE它不等同于javaswitch