कभी-कभी चीज़ें प्लान के मुताबिक नहीं होती हैं और कोई गड़बड़ी हो जाती है.
जब आपको पता न हो कि गड़बड़ी का मैसेज क्या है, तो देखें कि क्या गड़बड़ी हुई है. इसके बाद, देखें कि क्या गड़बड़ी का मैसेज मिला है.
इस कोड में, कस्टम एरर हैंडलर को लागू करने का तरीका दिखाया गया है. यह Cloud Storage से मिले गड़बड़ी कोड और गड़बड़ी के मैसेज की जांच करता है. इस तरह के एरर हैंडलर, Cloud Storage API में इस्तेमाल किए जाने वाले अलग-अलग ऑब्जेक्ट में जोड़े जा सकते हैं (जैसे, UploadTask
और FileDownloadTask
).
Kotlin+KTX
internal inner class MyFailureListener : OnFailureListener { override fun onFailure(exception: Exception) { val errorCode = (exception as StorageException).errorCode val errorMessage = exception.message // test the errorCode and errorMessage, and handle accordingly } }
Java
class MyFailureListener implements OnFailureListener { @Override public void onFailure(@NonNull Exception exception) { int errorCode = ((StorageException) exception).getErrorCode(); String errorMessage = exception.getMessage(); // test the errorCode and errorMessage, and handle accordingly } }
अगर आपने गड़बड़ी का मैसेज देख लिया है और Cloud Storage के सुरक्षा नियमों के आधार पर कार्रवाई की जा सकती है, लेकिन फिर भी उसे ठीक करने में समस्या आ रही है, तो हमारे सहायता पेज पर जाएं और हमें बताएं कि हम आपकी किस तरह मदद कर सकते हैं.
गड़बड़ी के मैसेज हैंडल करना
गड़बड़ियां होने की कई वजहें हो सकती हैं. जैसे, फ़ाइल मौजूद नहीं है, उपयोगकर्ता का अपनी पसंद की फ़ाइल ऐक्सेस करने की अनुमति नहीं है या उपयोगकर्ता का फ़ाइल अपलोड रद्द कर दिया गया है.
समस्या का सही तरीके से पता लगाने और उसे ठीक करने के लिए, यहां उन सभी गड़बड़ियों की सूची दी गई है
जो हमारे क्लाइंट की वजह से हो सकती हैं. साथ ही, यह भी बताया गया है कि वे कैसे हो सकती हैं. इस टेबल में मौजूद गड़बड़ी कोड को StorageException
क्लास में इंटीजर कॉन्स्टेंट के तौर पर बताया गया है.
कोड | वजह |
---|---|
ERROR_UNKNOWN |
कोई अनजानी गड़बड़ी हुई. |
ERROR_OBJECT_NOT_FOUND |
मनचाहे संदर्भ में कोई ऑब्जेक्ट मौजूद नहीं है. |
ERROR_BUCKET_NOT_FOUND |
Cloud Storage के लिए कोई बकेट कॉन्फ़िगर नहीं की गई है |
ERROR_PROJECT_NOT_FOUND |
Cloud Storage के लिए कोई भी प्रोजेक्ट कॉन्फ़िगर नहीं किया गया है |
ERROR_QUOTA_EXCEEDED |
आपकी Cloud Storage बकेट में ज़्यादा से ज़्यादा कोटे की सीमा पार हो गई है. अगर आप बिना किसी शुल्क के प्लान का इस्तेमाल कर रहे हैं, तो पैसे देकर लिए जाने वाले प्लान पर अपग्रेड करें. अगर पैसे चुकाकर ली जाने वाली सदस्यता का प्लान लिया जा रहा है, तो Firebase सहायता टीम से संपर्क करें. |
ERROR_NOT_AUTHENTICATED |
उपयोगकर्ता को प्रमाणित नहीं किया गया है, कृपया पुष्टि करें और फिर से कोशिश करें. |
ERROR_NOT_AUTHORIZED |
उपयोगकर्ता को मनचाही कार्रवाई करने की अनुमति नहीं है. अपने नियमों की जांच करके पक्का करें कि वे सही हैं. |
ERROR_RETRY_LIMIT_EXCEEDED |
किसी कार्रवाई (अपलोड, डाउनलोड, मिटाना वगैरह) की अधिकतम समय सीमा को बाहर कर दिया गया है. फिर से कोशिश करें. |
ERROR_INVALID_CHECKSUM |
क्लाइंट की फ़ाइल, सर्वर को मिली फ़ाइल के चेकसम से मेल नहीं खाती. फिर से अपलोड करें. |
ERROR_CANCELED |
उपयोगकर्ता ने कार्रवाई को रद्द कर दिया है. |
इसके अलावा, getReferenceFromUrl()
को अमान्य यूआरएल के साथ कॉल करने की कोशिश करने पर, IllegalArgumentException
को इस्तेमाल नहीं किया जाएगा. ऊपर दिए गए तरीके का तर्क, gs://bucket/object
या https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN>
फ़ॉर्मैट में होना चाहिए