Un valor indefinido ocurre normalmente cuando hay un error en el código de un programa de software. Por lo general, la variable que se le ha indicado al programa que busque no es válida o no tiene un valor que coincida con lo que busca el código. Por ejemplo, una parte del código de la aplicación de software puede definir la variable como una letra, que no corresponde a la función de comando que indica al programa que busque un número.
Dado que las aplicaciones de software están escritas en código, ciertos comandos y funciones requieren algún tipo de correlación. Cuando el programa determina que tiene un valor indefinido, normalmente devolverá un mensaje de error. Los programadores expertos normalmente podrán determinar cómo corregir un valor indefinido del idioma contenido en el mensaje de error o en el registro.
Un puntero nulo también se considera un valor indefinido. En informática, esto equivale a la ausencia de un valor u objeto. Es algo que el programa no puede asociar con un objeto válido, y un intento de hacerlo resultará a menudo en un error que causa la terminación del programa. La falta de un objeto o valor válido no significa necesariamente que la variable no exista, pero que el programa no puede hacer coincidirla con algo que tenga sentido.
Los errores de programación que crean un valor indefinido pueden definir una variable como «nombre» como equivalente a un punto y coma. Cuando una función que busca «nombre» intenta hacer coincidir el punto y coma como el valor definido, se da cuenta de que un punto y coma no es un nombre. En lo que respecta al programa, esto no es válido y la función no puede continuar.
Las variables se pueden verificar para ver si contienen valores indefinidos. Una forma de probar esto es contrastar la variable con el valor «indefinido» o «nulo». La mayoría de los programadores podrán realizar estas pruebas. Dado que los diferentes programas de software están escritos en diferentes lenguajes de programación, el proceso y la redacción pueden variar.
Los programadores de software también pueden cambiar la codificación del programa para corregir cualquier error relacionado con valores indefinidos. Simplemente tendrían que asegurarse de que la forma en que se definen las variables sea congruente con lo que busca la función. A veces, las pruebas o los mensajes de error los orientarán en la dirección correcta o es posible que necesiten hacer un examen minucioso del código línea por línea.