锡兰未实施错误

时间:2014-10-25 13:29:11

标签: notimplementedexception ceylon unsupportedoperation

锡兰的成语是什么,表明某个功能没有实现?我经常想看看设计是否会在实现所有功能之前进行类型检查。据推测,这意味着让身体抛出一个错误,该错误具有类型Nothing并且可以分配给任何函数。当实现无关紧要时,这对于共享示例代码也很有用。

看起来有些人使用Java中的UnsupportedOperationException:

Integer add(Integer a, Integer b) {throw UnsupportedOperationException();}

但这对于解决一堆类方法来说太过冗长了。我正在寻找类似于Scala的可爱名称???的内容,如:

def add(a: Int, b: Int): Int = ???

1 个答案:

答案 0 :(得分:3)

实际上,nothing是您可以调用的内置顶级getter:

Integer add(Integer a, Integer b) => nothing;

它可能看起来像是一个返回的对象,但实际上它会在到达时抛出一个运行时异常。