我这样理解
根据定义,OutOfRangeException 应该用于潜在问题是逻辑性的情况 - 由于代码或定义错误而发生。OutOfBoundsException 用于运行时。
示例(另请参见“OutOfBoundsException 类”文章中的注释)
<?php
function prepareData(PDOStatement $s) {
$x = $s->fetch();
if (!isset($x['secretColumn']))
throw new OutOfRangeException ("Secret column doesn't exist! Verify table definition and query.");
}