# fail_for_dimension_mismatch function

(Shortest import: `from brian2.units.fundamentalunits import fail_for_dimension_mismatch)`

brian2.units.fundamentalunits.fail_for_dimension_mismatch(obj1, obj2=None, error_message=None, **error_quantities)

  Compare the dimensions of two objects.

  Parameters:

    obj1, obj2 : {array-like, `Quantity`}

    > The object to compare. If `obj2` is `None`, assume it to be dimensionless

    error_message : str, optional

    > An error message that is used in the DimensionMismatchError

    error_quantities : dict mapping str to `Quantity`, optional

    > Quantities in this dictionary will be converted using the `_short_str` helper method and inserted into the `error_message` (which should have placeholders with the corresponding names). The reason for doing this in a somewhat complicated way instead of directly including all the details in `error_messsage` is that converting large quantity arrays to strings can be rather costly and we don’t want to do it if no error occured.

  Returns:

    dim1, dim2 : `Dimension`, `Dimension`

    > The physical dimensions of the two arguments (so that later code does not need to get the dimensions again).

  Raises

  `DimensionMismatchError`

    If the dimensions of `obj1` and `obj2` do not match (or, if `obj2` is `None`, in case `obj1` is not dimensionsless).

  Notes

  Implements special checking for `0`, treating it as having “any dimensions”.