खोलने से संबंधित अपवादों का मोर ठीक है, इसलिए मैंने इस प्रश्न के उत्तर के लिए कई जगहों पर खोज की है, लेकिन अगर मैं कुछ स्पष्ट याद करता हूं तो मैं किसी भी लिंक के लिए खुला हूं।फ़ाइलस्ट्रीम
मैं किसी विशेष फ़ाइल को खोलने का प्रयास करते समय उपयोगकर्ता को उचित त्रुटि संदेश बनाने में रूचि रखता हूं, लेकिन किसी भी कारण से प्रोग्राम उस फ़ाइल तक नहीं पहुंच सकता है। मैं निम्नलिखित मामलों के बीच अंतर करना चाहता हूं:
- फ़ाइल को दूसरी प्रक्रिया द्वारा लॉक किया गया था जैसे कि यह प्रक्रिया इसे लिख नहीं सकती है।
- उपयोगकर्ता के पास फ़ाइल में लिखने के लिए उचित पहुंच विशेषाधिकार नहीं हैं (जैसे, उनके उपयोगकर्ता अनुमतियां, जैसा कि विंडोज एक्सप्लोरर में फ़ाइल के लिए प्रॉपर्टी स्क्रीन में देखा गया है, उपयोगकर्ता लिखने की अनुमति न दें)
- फ़ाइल को फ़ाइल तक पहुंचने के लिए "उन्नत" अनुमति की आवश्यकता है।
मैं एक फ़ाइलस्ट्रीम ऑब्जेक्ट का उपयोग कर रहा हूं। मैंने msdn documentation for instantiating a FileStream पर देखा है, और यह बिल्कुल स्पष्ट नहीं है कि अपवाद उपरोक्त के लिए क्या करता है, और उनके बीच अंतर कैसे करें। मैं मानता हूं कि विंडोज प्रोग्रामिंग के साथ मेरा अनुभव सीमित है, इसलिए मुझे कुछ स्पष्ट याद आ रही है। अगर माफी माँगती है तो।
क्या पिछले 2 मामलों के बीच आप कोई अंतर दिखाना चाहते हैं? मैं कल्पना करता हूं (हालांकि साबित नहीं हुआ है) कि वे दोनों 'सुरक्षा अपवाद' फेंक देंगे जहां पहला मामला 'आईओएक्सप्शन' फेंक देगा। –
@ एम। बाबाकॉक: कुछ मायनों में, पिछले दो मामले बहुत अलग नहीं हैं। हालांकि, उपयोगकर्ता को फ़ाइल में पहुंच प्राप्त करने के लिए (सामान्य रूप से) बहुत अलग चीज़ें करना पड़ता है। दूसरे मामले के लिए, उन्हें अनुरोध करना होगा कि कोई अन्य उपयोगकर्ता उन्हें अनुमति दे। तीसरे मामले के लिए, उन्हें "व्यवस्थापक के रूप में चलाएं" या शायद "प्रोग्राम फ़ाइलें" निर्देशिका से फ़ाइल को स्थानांतरित करने की आवश्यकता है (हालांकि यह वहां क्यों होगा जहां मुझे नहीं पता)। मैं उपयोगकर्ता को यह जानने में मदद करना चाहता हूं कि फ़ाइल तक पहुंच प्राप्त करने के लिए उन्हें क्या करना है। – skybluecodeflier
एक बार फिर, मैं अपनी पिछली टिप्पणी में विंडोज ओएस की अपनी अज्ञानता दिखा रहा हूं- अगर मेरी व्याख्या गलत है तो मैं सुधार के लिए खुला हूं। – skybluecodeflier