正确的异常类型是否在不允许的情况下添加到数组?

Lev*_*son 3 php arrays exception

假设我有一个实现ArrayAccess但不允许添加新数据的类.您可以设置现有值,但不能添加大小.

$arrayAccessible[1] = new StdClass(); //okay
$arrayAccessible[] = new StdClass(); //should throw an exception
Run Code Online (Sandbox Code Playgroud)

我应该抛出什么异常类型?我确实有可用的SPL异常类型,如果有意义的话应该使用它们.我能想到的最好的可能是BadFunctionCallExceptionBadMethodCallException.

如果没有一个好的投掷,也许我会做UnsupportedOperationException或类似.但是,这绝对不是我想做的事情.在这个项目中添加这将是非常困难的.

irc*_*ell 6

老实说,我会抛出一个OverflowException.由于阵列是固定的,因此根据定义也是完整的......