कोर अपवाद

कोर अपवाद

मुख्य अपवाद

यह पुस्तकालय लोड और सहेजने में विफलताओं को दो विशिष्ट अपवाद प्रकारों के माध्यम से रिपोर्ट करता है: PsdLoadException और PsdSaveException, दोनों मानक Exception वर्ग का विस्तार करते हैं।


PsdLoadException

Image.Load() / PsdImage.Load() इनपुट को वैध PSD या PSB दस्तावेज़ के रूप में पार्स न कर पाएँ तो उत्पन्न किया जाता है।

try
{
    using var image = (PsdImage)Image.Load(inputPath);
}
catch (PsdLoadException ex)
{
    Console.WriteLine($"Failed to load {inputPath}: {ex.Message}");
}

PsdSaveException

PsdImage.Save() दस्तावेज़ को लिख नहीं पाता तो उत्पन्न किया जाता है।

try
{
    image.Save(outputPath);
}
catch (PsdSaveException ex)
{
    Console.WriteLine($"Failed to save {outputPath}: {ex.Message}");
}

कंस्ट्रक्टर्स

दोनों अपवाद प्रकारों की संरचना समान दो-कंस्ट्रक्टर वाली है: एक केवल संदेश वाला कंस्ट्रक्टर, और एक संदेश-सह-आंतरिक-अपवाद कंस्ट्रक्टर जो निम्न-स्तरीय त्रुटि को सम्मिलित करता है।

throw new PsdLoadException("Unexpected end of stream while reading the PSD header.");
throw new PsdSaveException("Failed to write layer data.", innerException);

उपयोगी सुझाव और सर्वोत्तम प्रथाएँ

  • हर Image.Load()/PsdImage.Load() कॉल के आसपास PsdLoadException को पकड़ें जो बाहरी इनपुट को प्रोसेस करती है।
  • यदि गंतव्य (डिस्क, स्ट्रीम) लिखने योग्य न हो, तो प्रत्येक PsdImage.Save() कॉल के आसपास PsdSaveException को पकड़ें।
  • दोनों प्रकार Exception को विस्तारित करते हैं, इसलिए एक व्यापक catch (Exception) भी उन्हें पकड़ता है — लोड त्रुटियों और सेव त्रुटियों में अंतर करने के लिए विशिष्ट प्रकारों को प्राथमिकता दें।

सामान्य समस्याएँ

समस्याकारणसमाधान
PsdLoadException एक फ़ाइल पर जो अन्य टूल्स में ठीक से खुलती हैइनपुट एक मान्य PSD/PSB दस्तावेज़ नहीं है, या इसमें ऐसी सुविधा प्रयोग की गई है जिसे इस FOSS बिल्ड के पार्सर द्वारा पहचाना नहीं जातापुष्टि करें कि फ़ाइल एक वास्तविक PSD/PSB दस्तावेज़ है; असमर्थित सुविधाओं की रिपोर्ट लोड त्रुटियों से अलग करके दें
स्ट्रीम में लिखते समय PsdSaveExceptionगंतव्य स्ट्रीम लिखने योग्य नहीं हो सकती या पहले ही नष्ट कर दी गई हो सकती हैकॉल करने से पहले यह सुनिश्चित करें कि स्ट्रीम खुली और लिखने योग्य है Save()

FAQ

क्या यह लाइब्रेरी लोड या सेव विफलता के बाद स्वतः पुनः प्रयास करती है?

नहीं। PsdLoadException और PsdSaveException एक बार उत्पन्न होते हैं और कॉलर द्वारा संभाले जाने चाहिए; कोई स्वतः पुनः प्रयास नहीं है।

क्या मैं लिपटे हुए अपवाद के मूल कारण की जाँच कर सकता हूँ?

हाँ, जब वह उपलब्ध कराई जाती है — दोनों कन्स्ट्रक्टर्स एक innerException पैरामीटर स्वीकार करते हैं, जो मानक Exception.InnerException प्रॉपर्टी के माध्यम से पहुँच योग्य है।


API Reference सारांश

क्लास/मेथडविवरण
PsdLoadException(message) / PsdLoadException(message, innerException)जब दस्तावेज़ लोड नहीं किया जा सकता तो यह अपवाद उत्पन्न होता है
PsdSaveException(message) / PsdSaveException(message, innerException)जब दस्तावेज़ सहेजा नहीं जा सकता तो यह अपवाद उत्पन्न होता है

यह भी देखें

 हिन्दी