Obsah:
Definice - Co znamená chyba zápisu?
Chyba zápisu je generována, když operace zápisu na disk nebo paměťové médium není úspěšně dokončena kvůli několika faktorům, jako je například chráněné paměťové médium, nedostatek místa nebo zapisované sektory, aby byly poškozeny nebo poškozeny. Typ chybové zprávy o zápisu vrácené během operace se nezdařeným zápisem závisí na příčině chyby, což usnadňuje diagnostiku a opravu problému.
Techopedia vysvětluje chybu zápisu
K chybám zápisu dochází z různých důvodů a vrácená chybová zpráva odpovídá příčině této chyby. V základních operačních systémech, když je vyvolána operace zápisu, neprobíhá žádná primární kontrola předaných parametrů a proces je právě prováděn okamžitě, takže tyto typy chybových zpráv jsou důležité, aby uživatel věděl, jaká chyba zabránila operaci od dokončení.
V moderních operačních systémech, které mají být uživatelsky přívětivé, musí být každý proces a každá výzva intuitivní, aby nedošlo k záměně uživatele, protože chybové kódy jsou dobrým způsobem, jak zaměnit a vyděsit příležitostné uživatele, takže samotný operační systém musí zajistit, aby všechny požadavky jsou splněny před provedením procesu zápisu. Například moderní operační systém před provedením procesu zápisu zkontroluje úložný prostor a schopnost zápisu na médiu, takže může uživateli předem sdělit, že není dostatek místa nebo že neexistuje oprávnění k zápisu namísto pokračování a poté setkávání chyba.
Každý operační systém hlásí chyby podle své vlastní konvence a to samé platí pro chyby zápisu. Následuje seznam chyb zápisu, které hlásí GNU C:
- 4 (EINTR) - Systémové volání bylo přerušeno
- 5 (EIO) - Nízké hardwarové úrovně operací čtení a zápisu
- 9 (EBADF) - Neplatný deskriptor nebo soubor je „pouze ke čtení“
- 13 (EACCES) - Uživatel nemá oprávnění psát
- 14 (EFAULT) - Adresa zadaná ve funkci je neplatná
- 22 (EINVAL) - Argument předaný funkcí je neplatný
- 27 (EFBIG) - Velikost souboru v nbytech je větší, než umožňuje systém
- 28 (ENOSPC) - Na úložném médiu není dostatek místa
- 32 (EPIPE) - Potrubí je rozbité nebo soubor na konci potrubí není otevřen pro I / O operace