ENOENT neden “Böyle bir dosya veya dizin yok” anlamına geliyor?


507

Ne anlama ENTgeliyor ENOENT?

Hata olmamalı:

Böyle bir dosya ya da dizin yok

sadece adlandırmak ENOFILE?

Herhangi bir hikaye ya da sebep var mı?

Yanıtlar:


788

Error NO ENTry (veya Error NO ENTity) hatasının kısaltmasıdır ve aslında dosyalar / dizinlerden daha fazlası için kullanılabilir.

Kısaltılmış çünkü zamanın başındaki C derleyicileri sembollerde 8 karakterden fazlasını desteklemiyordu.


28
"aslında dosyalar / dizinlerden daha fazlası için kullanılabilir." - kodunuzun Linux ile birleştirilmesini istediğiniz durumlar hariç: lkml.org/lkml/2012/12/23/75
amn

12
Hatanın 8 karakterden tasarruf etmek yerine açık olması durumunda kullanıcılar için daha değerli olacaktır. Bunun neden böyle olabileceği hakkında bir fikrin var mı?
Brady Dowling

57
@BradyDowling Çünkü zamanın başındaki C derleyicileri sembollerde 8 karakterden fazlasını desteklemedi.
Bazı programcı ahbap

15
@ Someprogrammerdude'nin yorumu C adlandırma kurallarıyla ilgili sorularımın (niteliklerim) çoğunu açıkladı.
Jackson

3
@Jackson bu gibi command not founddüğümün içinde child_process . * * ağlar.
Dwelle

122

Basitçe “Böyle bir dizin girişi yok”. Dizin girişleri dizinler veya dosyalar (veya sembolik bağlantılar, soketler veya borular veya aygıtlar) ENOFILEolabileceğinden , ad anlamında çok dar olurdu.


27
Simge bağlantıları, soketler, borular ve aygıtların tümü dosyalardır ve dizinlerdir. ENOFILE, ENOENT kadar anlamıyla geniş veya dar olacaktır.
Guido Flohr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.