לפעמים, כשאתם מפתחים אפליקציה, הדברים לא מתנהלים כמתוכנן ונוצרת שגיאה.
אם אתם לא בטוחים, תוכלו לתפוס את החריגה שהפונקציה זרקה ולראות מה כתוב בהודעת השגיאה.
final storageRef = FirebaseStorage.instance.ref().child("files/uid");
try {
final listResult = await storageRef.listAll();
} on FirebaseException catch (e) {
// Caught an exception from Firebase.
print("Failed with error '${e.code}': ${e.message}");
}
טיפול בהודעות שגיאה
יש כמה סיבות לכך שעשויות להתרחש שגיאות, כולל הקובץ לא קיים, למשתמש אין הרשאה לגשת לקובץ הרצוי או שהמשתמש ביטל את העלאת הקובץ.
כדי לאבחן את הבעיה בצורה נכונה ולטפל בשגיאה, הנה רשימה מלאה של כל השגיאות שהלקוח שלנו יוצר, ואופן האירוע שלהן.
קוד | תיאור |
---|---|
storage/unknown |
אירעה שגיאה לא ידועה. |
storage/object-not-found |
אין אובייקט בהפניה הרצויה. |
storage/bucket-not-found |
לא הוגדרה קטגוריה ב-Cloud Storage |
storage/project-not-found |
לא מוגדר פרויקט ב-Cloud Storage |
storage/quota-exceeded |
חרגתם מהמכסה של הקטגוריה Cloud Storage. אם אתם משתמשים בתוכנית התמחור Spark, כדאי לשקול לשדרג לתוכנית התמחור Blaze בתשלום לפי שימוש. אם כבר עברתם לתוכנית התמחור Blaze, פנו לתמיכה של Firebase. חשוב: החל מ- |
storage/unauthenticated |
המשתמש לא מאומת. עליך לבצע אימות ולנסות שוב. |
storage/unauthorized |
המשתמש לא מורשה לבצע את הפעולה הרצויה. צריך לבדוק את כללי האבטחה כדי לוודא שהם נכונים. |
storage/retry-limit-exceeded |
חרגתם ממגבלת הזמן המקסימלית של פעולה כלשהי (העלאה, הורדה, מחיקה וכו'). כדאי לנסות להעלות שוב. |
storage/invalid-checksum |
הקובץ בצד הלקוח לא תואם לסיכום הביקורת של הקובץ שהשרת קיבל. כדאי לנסות להעלות שוב. |
storage/canceled |
המשתמש ביטל את הפעולה. |
storage/invalid-event-name |
שם האירוע שצוין לא תקין. חייב להיות אחד מהערכים הבאים: [running , progress , pause ] |
storage/invalid-url |
כתובת ה-URL שסיפקת ל-refFromURL() לא תקינה. הפורמט הנדרש הוא: gs://bucket/object או https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> |
storage/invalid-argument |
הארגומנט המועבר ל-put() חייב להיות מערך File , Blob או UInt8 . הארגומנט המועבר ל-putString() חייב להיות מחרוזת גולמית, Base64 או Base64URL . |
storage/no-default-bucket |
לא הוגדר קטגוריה במאפיין storageBucket של ההגדרות. |
storage/cannot-slice-blob |
המצב הזה קורה בדרך כלל כשהקובץ המקומי השתנה (נמחק, נשמר מחדש וכו'). מומלץ לנסות להעלות שוב אחרי שמוודאים שהקובץ לא השתנה. |
storage/server-file-wrong-size |
הקובץ אצל הלקוח לא תואם לגודל הקובץ שהשרת קיבל. כדאי לנסות להעלות שוב. |