0
A
回答
2
你想assertSafe捕捉任何异常,并失败,对不对?不幸的是,这对于Java来说是不可能的(至少今天)。一般而言,所有参数在传递给方法之前都必须经过评估。
你可以创建,虽然一个辅助方法:
public static void assertSafeInt(String val) {
try {
Integer.parseInt(val);
} catch (NumberFormatException e) {
throw new AssertionError(val + " is not an int");
}
}
用法:
assertSafeInt(val);
不能象一般,你会想我猜?带lambda表达式的Java 8可能会有所帮助,但我不认为语法会像你想的那样干净。
斯卡拉有一种叫做“按名称调用”的东西,它确实将代码块作为函数传递。在Scala中创建assertSafe很容易。
1
类型检查,例如,从JSON字符串中提取值时 - 我想知道为什么它不容易获得。
如果您使用扫描仪,它支持hasNextInt(),hasNextDouble()或hasNextNext()=> String。
通常情况下,你知道什么类型的期望,如果你不解析这个,因为你读它。我会避免阅读一个字符串,我想作为int
,这是效率低下。 ;)
相关问题
- 1. Spring安全SAML断言
- 2. 的Java:上断言行为
- 3. `全局`断言?
- 4. 断言试图运行projectPoints
- 5. 断言类已经运行
- 6. 在java中安全运行javascript代码
- 7. 为XSS安全的Java标记语言
- 8. Java的断言(假)
- 9. Java断言
- 10. 断言在Java
- 11. 运行时如何捕捉Java的断言错误
- 12. Java中的数组和运算集合的运行时安全
- 13. 安全断开
- 14. 用^ C打断正在运行的`npm install`安全吗?
- 15. Java,断言和JIT
- 16. Java断言问题
- 17. Java断言打印
- 18. Python:断言我在POSIX上运行?
- 19. 运行断言内部事件
- 20. 断言VS运行时异常
- 21. Java的断言 - $ assertionsDisabled VS $ assertionsEnabled
- 22. 安全地运行javascripts onload
- 23. 安全运行git gc
- 24. 断言失败:不安全的符号DeveloperApi类在运行时反射的宇宙
- 25. 断言一次运行比另一次运行快得多
- 26. 断言::在一行
- 27. 从rspec中断言断言与断言
- 28. 运行没有默认java.policy文件的Java安全管理器
- 29. 运行某些小程序时java是不安全的消息
- 30. 如何安全地运行不可信的Java应用程序?
“安全”是什么意思?副作用是免费的? – morgano
为什么不只是一个try/catch? – John
@morgano我的意思是不会有异常会引发! – RGO