is Exception
未实现功能的错误类。NYI 代表尚未实现。
如果 Raku 编译器尚未完成功能,当程序使用它可以检测到并且以某种方式指定尚未实现的功能时,它可能会抛出 X::NYI
异常。
功能齐全的 Raku 编译器不得抛出此类异常,但出于兼容性原因仍提供 X::NYI
类。
典型的错误消息是
HyperWhatever is not yet implemented. Sorry.
方法§
方法 new§
method new( :, :, :)
这是 X:NYI
的默认构造函数,它可以接受三个具有明显含义的参数。
my = Nothing.new;.ventured("Nothing", "Gained");
在这种情况下,我们抛出一个异常,表示尚未实现 ventured
例程;我们使用通用的 &?ROUTINE.name
来不将异常绑定到方法名称(以防以后更改)。此代码有效地抛出此异常
# OUTPUT:# ventured not yet implemented. Sorry.# Did you mean: gained?# Workaround: Implement it yourself# in method ventured at NYI.raku line 6# in block <unit> at NYI.raku line 14
使用异常属性,它会组成我们在那里看到的错误消息。
方法 feature§
返回描述缺失功能的 Str
。
方法 did-you-mean§
返回 Str
,表示已实现的可选功能。
方法 workaround§
如果已声明,它会帮助显示缺失功能的可能解决方法。
方法 message§
返回包括上述属性的消息。