एंड्रॉइड पर क्लाउड स्टोरेज के लिए त्रुटियों को संभालें

कभी-कभी चीज़ें योजना के अनुसार नहीं होतीं और त्रुटि हो जाती है।

जब संदेह हो, तो लौटाई गई त्रुटि की जाँच करें और देखें कि त्रुटि संदेश क्या कहता है। निम्नलिखित कोड एक कस्टम त्रुटि हैंडलर कार्यान्वयन दिखाता है जो क्लाउड स्टोरेज द्वारा लौटाए गए त्रुटि कोड और त्रुटि संदेश का निरीक्षण करता है। ऐसे त्रुटि हैंडलर को क्लाउड स्टोरेज एपीआई में उपयोग किए जाने वाले विभिन्न ऑब्जेक्ट्स में जोड़ा जा सकता है (उदाहरण के लिए, 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
    }
}

यदि आपने त्रुटि संदेश की जांच कर ली है और आपके पास क्लाउड स्टोरेज सुरक्षा नियम हैं जो आपकी कार्रवाई की अनुमति देते हैं, लेकिन अभी भी त्रुटि को ठीक करने के लिए संघर्ष कर रहे हैं, तो हमारे सहायता पृष्ठ पर जाएं और हमें बताएं कि हम कैसे मदद कर सकते हैं।

त्रुटि संदेश संभालें

त्रुटियाँ होने के कई कारण हो सकते हैं, जिनमें फ़ाइल का मौजूदा न होना, उपयोगकर्ता के पास वांछित फ़ाइल तक पहुँचने की अनुमति न होना, या उपयोगकर्ता द्वारा फ़ाइल अपलोड को रद्द करना शामिल है।

समस्या का उचित निदान करने और त्रुटि से निपटने के लिए, हमारे ग्राहक द्वारा उठाई गई सभी त्रुटियों की पूरी सूची यहां दी गई है, और वे कैसे हो सकती हैं। इस तालिका में त्रुटि कोड को StorageException क्लास में पूर्णांक स्थिरांक के रूप में परिभाषित किया गया है।

कोड कारण
ERROR_UNKNOWN एक अज्ञात त्रुटि हुई।
ERROR_OBJECT_NOT_FOUND वांछित संदर्भ पर कोई वस्तु मौजूद नहीं है।
ERROR_BUCKET_NOT_FOUND क्लाउड स्टोरेज के लिए कोई बकेट कॉन्फ़िगर नहीं किया गया है
ERROR_PROJECT_NOT_FOUND क्लाउड स्टोरेज के लिए कोई प्रोजेक्ट कॉन्फ़िगर नहीं किया गया है
ERROR_QUOTA_EXCEEDED आपके क्लाउड स्टोरेज बकेट का कोटा पार हो गया है। यदि आप नो-कॉस्ट स्तर पर हैं, तो सशुल्क योजना में अपग्रेड करें। यदि आप सशुल्क योजना पर हैं, तो फायरबेस सहायता से संपर्क करें।
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> के रूप में होना चाहिए।