नहीं, यह इतिहास है। जीडीआई + कुछ समय पहले लिखा गया था .NET कभी भी आया था। इसके लिए एसडीके रैपर सी ++ में लिखा गया था। अपवाद सी ++ में iffy हैं, हर कोई इन में खरीद नहीं है। Google उदाहरण के लिए नहीं है। तो इसे संगत रखने के लिए यह त्रुटि कोड के साथ समस्याओं की रिपोर्ट करता है।यह कभी भी अच्छी तरह से स्केल नहीं करता है, लाइब्रेरी प्रोग्रामर इसे जानबूझकर संभावित त्रुटि कोडों की संख्या को सीमित करने का लक्ष्य बनाते हैं, इससे क्लाइंट प्रोग्रामर पर बोझ कम हो जाता है।
जीडीआई + में यह समस्या हुकुम में है, यह केवल 20 त्रुटि कोड परिभाषित करती है। इतनी बड़ी बाहरी निर्भरताओं के साथ कोड के इतने बड़े हिस्से के लिए बहुत कुछ नहीं है। जो स्वयं में एक समस्या है, छवि फ़ाइल को गड़बड़ करने के लिए एक शानदार तरीके हैं। ऐसा कोई तरीका नहीं है कि लाइब्रेरी की त्रुटि रिपोर्टिंग उन सभी को कवर करने के लिए पर्याप्त हो सकती है। तथ्य यह है कि इन त्रुटि कोडों को लंबे समय से पहले चुना गया था। नेट परिभाषित मानक अपवाद व्युत्पन्न प्रकार निश्चित रूप से मदद नहीं करते थे।
स्थिति :: आउटऑफमेमरी त्रुटि कोड अलग-अलग चीज़ों के लिए ओवरलोड हो गया है। कभी-कभी यह वास्तव में स्मृति से बाहर होता है, यह बिटमैप बिट्स को स्टोर करने के लिए पर्याप्त स्थान आवंटित नहीं कर सकता है। अफसोस की बात है, एक छवि फ़ाइल प्रारूप समस्या एक ही त्रुटि कोड द्वारा रिपोर्ट किया जाता है। यहां घर्षण यह है कि यह संभवतः यह तय नहीं कर सकता कि छवि फ़ाइल से चौड़ाई * ऊंचाई * पिक्सल पढ़ी गई है या नहीं, क्योंकि बिटमैप के लिए पर्याप्त संग्रहण उपलब्ध नहीं है। या यदि छवि फ़ाइल में डेटा जंक है। यह मानता है कि छवि फ़ाइल जंक नहीं है, उचित कॉल, यह एक और प्रोग्राम की समस्या है। तो ओओएम यह रिपोर्ट करता है।
enum Status
{
Ok = 0,
GenericError = 1,
InvalidParameter = 2,
OutOfMemory = 3,
ObjectBusy = 4,
InsufficientBuffer = 5,
NotImplemented = 6,
Win32Error = 7,
WrongState = 8,
Aborted = 9,
FileNotFound = 10,
ValueOverflow = 11,
AccessDenied = 12,
UnknownImageFormat = 13,
FontFamilyNotFound = 14,
FontStyleNotFound = 15,
NotTrueTypeFont = 16,
UnsupportedGdiplusVersion = 17,
GdiplusNotInitialized = 18,
PropertyNotFound = 19,
PropertyNotSupported = 20,
#if (GDIPVER >= 0x0110)
ProfileNotFound = 21,
#endif //(GDIPVER >= 0x0110)
};
इनमें से लगभग * इनमें से कोई भी 'आउटऑफमेमरी' से भी बेहतर विकल्प होगा, यहां तक कि 'जेनेरिक एरर' भी। – MusiGenesis
विशेष रूप से 'अज्ञात इमेजफॉर्मैट' एक प्रारूप के लिए उपयुक्त लगता है जिसे समझा नहीं जा सकता है। –