View Source Bond.InvariantError exception (Bond v1.1.0)

Exception raised when an @invariant for a struct module is violated.

Invariants are checked when a public function in the struct's defining module receives or returns a value of the struct. The error's :function field identifies the function the invariant was checked around; :module is always the struct's module.

Summary

Types

t()

The Bond.InvariantError exception type.

Types

@type t() :: %Bond.InvariantError{
  __exception__: true,
  binding: keyword(),
  expression: Bond.assertion_expression(),
  file: Path.t(),
  function: {String.t(), non_neg_integer()},
  label: Bond.assertion_label(),
  line: integer(),
  module: module()
}

The Bond.InvariantError exception type.