Turinys:
Apibrėžimas - ką reiškia rašymo klaida?
Rašymo klaida sukuriama, kai įrašymo į diską ar laikmeną operacija nėra sėkmingai baigta dėl keleto veiksnių, tokių kaip saugojimo laikmena, kuriai nėra rašymo, nėra pakankamai vietos arba sektoriai, kuriuose rašoma, yra sugadinti ar pažeisti. Nepavykusio rašymo operacijos metu grąžinto rašymo klaidos pranešimo tipas priklauso nuo klaidos priežasties, todėl ją lengviau diagnozuoti ir išspręsti.
„Techopedia“ paaiškina rašymo klaidą
Rašymo klaidos atsiranda dėl įvairių priežasčių, o grąžintas klaidos pranešimas atitinka šios klaidos priežastį. Pradinėse operacinėse sistemose, kai iškviečiama rašymo operacija, nėra atliekamas pirminis patikrintų parametrų patikrinimas, o procesas atliekamas tik iš karto, todėl šios rūšies klaidų pranešimai yra svarbūs norint pranešti vartotojui, kokia klaida užkirto kelią operacijai. baigdamas.
Šiuolaikinėse operacinėse sistemose, kurios turi būti patogios vartotojui, kiekvienas procesas ir visi raginimai turi būti intuityvūs, kad nesuklaidintų vartotojo, nes klaidų kodai yra geras būdas supainioti ir gąsdinti atsitiktinius vartotojus, todėl pati operacinė sistema turi užtikrinti, kad visi reikalavimai yra įvykdytos prieš vykdant rašymo procesą. Pvz., Šiuolaikinė operacinė sistema patikrina laikmenos vietos ir rašymo galimybes prieš vykdydama rašymo procesą, kad iš anksto vartotojui galėtų pasakyti, kad nėra pakankamai vietos arba kad nėra leidimo rašyti, o ne tęsti, o tada susidurti klaida.
Kiekviena operacinė sistema praneša apie klaidas pagal savo įprastą metodą, o rašymo klaidos taip pat. Toliau pateiktas rašymo klaidų, kurias praneša GNU C, sąrašas:
- 4 (EINTR) - sistemos skambutis buvo nutrauktas
- 5 (EIO) - žemos aparatūros lygio skaitymo / rašymo operacijų klaidos
- 9 (EBADF) - netinkamas aprašymas arba failas yra tik skaitomas
- 13 (EACCES) - Vartotojas neturi leidimo rašyti
- 14 (EFAULT) - Funkcijoje nurodytas adresas yra neteisingas
- 22 (EINVAL) - funkcijos pateiktas argumentas yra neteisingas
- 27 (EFBIG) - failo dydis nbaitais yra didesnis nei leidžia sistema
- 28 (ENOSPC) - atminties laikmenoje nepakanka vietos
- 32 (EPIPE) - vamzdis sulaužytas arba vamzdžio gale esantis failas nėra atidarytas I / O operacijoms
