quiver.check library

基于Java中的Guava Preconditions类的一组简单的前/后条件检查器.

这些检查比可以断言的" assert"语句更强,因此只能在我们希望检查失败时程序主动中断的情况下使用它们.

Performance

如果计算复杂的逻辑以进行方法调用,则这些检查的性能可能会成为问题. 在这些情况下,应谨慎使用它-该库旨在提高可维护性和可读性,而不是性能. 当程序应尽早失败时,它们也很有用-例如,对在方法调用结束之前可能不使用的参数进行空检查.

Error messages

message参数可以是() => Object或任何其他Object . 通过调用对象的toString()将其转换为错误消息. 如果消息构造复杂(例如,它使用String插值),则应该首选该Function ,因为仅在检查失败时才调用该函数.

如果message参数为null或返回null ,则将使用默认错误消息.

Functions

checkArgument(bool expression, {dynamic message}) → void
如果给定的expressionfalse则抛出ArgumentError .
checkListIndex(int index, int size, {dynamic message}) int
如果给定index不是具有size元素的列表的有效索引,则抛出RangeError . 否则,返回index参数.
checkNotNull<T>(T reference, {dynamic message}) → T
如果给定referencenull则抛出ArgumentError . 否则,返回reference参数.
checkState(bool expression, {dynamic message}) → void
如果给定的expressionfalse则抛出StateError .