dsv-1.0.0.0: library/DSV/IndexError.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE DerivingStrategies, DeriveAnyClass #-}
module DSV.IndexError
( TooShort (..)
, IndexError (..)
) where
import DSV.IO
import DSV.Prelude
data TooShort = TooShort
deriving stock (Eq, Show)
deriving anyclass Exception
-- | The general concept of what can go wrong when you look up something by position in a list.
data IndexError error
= IndexError_TooShort
-- ^ There is no element at that position because the list isn't long enough.
| IndexError_FieldError error
-- ^ There is something wrong with the element found at the position.
deriving stock (Eq, Show)
deriving anyclass Exception