我正在浏览PHP中预定义的例外列表,我注意到了DomainException。任何人都知道DomainException是什么意思?这是否意味着数据模型验证失败?什么时候你会在PHP中抛出一个DomainException?
16
A
回答
16
这里有一个很热闹的讨论关于怎么没人似乎知道什么是手段:
http://bugs.php.net/bug.php?id=47097
从该链接的结尾:
域名在这里是指数据域。即 a
DomainException
必须抛出 只要一个值不符合 定义的有效数据域。示例:
- 0不在划分域。
- Foo不在平日的域中。
首先是从出 范围都不同,但你可以使用的情况下,
InvalidParameter
是 实际上到执行部门的功能 的参数。如果它是在执行除法和 之前在函数 内计算的 值,那么预条件检查将抛出 而不是执行除法 然后它变成DomainException
。
3
4
的RangeException
描述是多一点有所帮助:
抛出异常程序执行过程中,以指示范围的错误。通常这意味着除了溢出/溢出之外还有一个算术错误。这是DomainException的运行时版本。
我认为它也适用于非算术,例如,看到这个user comment。
例如,如果预期值是在集{'jpeg', 'png', 'gif', 'bmp'}
,您会收到别的东西一样'foo'
,它是一个DomainException(逻辑)的候选资格/ RangeException
(运行)。我很肯定你可以考虑许多其他用例。
此外,我刚刚发现这个有用的文章,它提供了比php更彻底的解释。净: How to use built-in SPL exception classes for better error handling
相关问题
- 1. 什么时候XPathExpression.evaluate抛出?
- 2. 什么时候一个Socket接收返回0字节,什么时候会抛出一个SocktException?
- 3. 什么时候你会在PHP中使用$ this关键字?
- 4. 你什么时候会用attr_writer?
- 5. 什么时候应该抛出异常?
- 6. 什么时候抛出java异常
- 7. 什么时候java.util.zip.ZipFile.close()抛出IOException?
- 8. 什么时候StackOverflowError被抛出?
- 9. ServerSocket.close()。它什么时候抛出异常?
- 10. 混淆什么时候抛出异常
- 11. 什么时候org.hibernate.Session抛出HibernateException?
- 12. 什么时候你需要导入PHP?
- 13. 什么时候你会返回一个函数的引用?
- 14. 什么时候休眠Session.load()抛出一个异常
- 15. 比较器什么时候会进行排序抛出一个ArgumentException?
- 16. 什么时候会释放一个autorelease
- 17. 什么时候ArrayList.Itr#next()在这一行上抛出ConcurrentModificationException?
- 18. 为什么会抛出一个Type Error?
- 19. 你怎么能指望的时候一个值出现在SQL
- 20. 什么时候应该抛出异常而不是在PHP中返回错误?
- 21. 什么时候Java Collections在使用Collections.addAll()时抛出NullPointerException异常
- 22. 为什么会在我的try-catch中抛出一个错误?
- 23. 什么时候你会在方括号后面加分号?
- 24. 什么时候字典在Add或ContainsKey上抛出IndexOutOfRangeException?
- 25. 什么时候返回布尔,抛出一个异常和抛出哪个异常
- 26. 什么时候会发生?
- 27. 为什么会抛出NullPointerException?
- 28. 为什么会抛出NullPointerException?
- 29. 为什么会抛出ClassCastException?
- 30. 为什么会抛出IllegalMonitorStateException?
哈哈这很漂亮+1 – oscarkuo 2009-07-09 10:15:30