Se usan a menudo para identificar fallos de hardware, software o una entrada de datos incorrecta del usuario, en lenguajes de programación que carecen de manejo de excepciones, aunque a veces se usan conjuntamente a ellas.