¿Qué significa el código errno 21 (EISDIR) en Cualquiera?

 
También puede significar:
ConstanteTipoSO
ERROR_NOT_READYError de WindowsWindows
KERN_RIGHT_EXISTSRetorno del kernel de macOSmacOS
ippStsCpuMismatchEstado de Intel IPPCualquiera
LAST_CHANCE_CALLED_FROM_KMODECódigo BSODWindows
Anterior Siguiente
ENOTDIR EINVAL

EISDIR

Qué significa EISDIR

EISDIR indica que el objetivo existe y es un directorio, mientras que la operación requiere otro tipo de objeto. Puede aparecer al leer un descriptor de directorio como si fuera un archivo normal, al intentar abrirlo para una modificación incompatible o en operaciones que distinguen expresamente entre directorios y objetos no directorio.

La diferencia con ENOENT o ENOTDIR es útil: la ruta llegó a resolverse y el problema es el tipo del objeto final.

Qué comprobar

  • Comprueba el tipo del objeto final y si la ruta terminó accidentalmente en un directorio, raíz de montaje o carpeta de paquete.
  • Usa las API específicas de directorios para enumerar, crear o eliminar en lugar de aplicar supuestos de lectura/escritura de archivo regular.
  • Revisa concatenaciones de rutas y variables de nombre; un componente final vacío puede hacer que la ruta termine en el propio directorio.
  • En código destructivo, trata esta diferencia de tipo como una protección y no intentes forzar la operación.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.