الـ panic يعني عادةً أن شيئاً ما سار بشكل خاطئ بشكل غير متوقع. غالباً ما نستخدمه للفشل السريع عند حدوث أخطاء لا ينبغي أن تحدث أثناء التشغيل العادي، أو التي لسنا مستعدين للتعامل معها بلباقة.
package main
import (
"os"
"path/filepath"
)
func main() {
سنستخدم الـ panic في جميع أنحاء هذا الموقع للتحقق من الأخطاء غير المتوقعة. هذا هو البرنامج الوحيد على الموقع المصمم لإحداث panic.
panic("مشكلة ما حدثت")
الاستخدام الشائع للـ panic هو إنهاء البرنامج إذا أعادت دالة ما قيمة خطأ لا نعرف كيف (أو لا نريد) التعامل معها.
path := filepath.Join(os.TempDir(), "file")
_, err := os.Create(path)
if err != nil {
panic(err)
}
}
تشغيل هذا البرنامج سيجعله يذعر، ويطبع رسالة خطأ وتتبع للـ goroutines، ويخرج بحالة غير صفرية.
تشغيل البرنامج:
$ go run panic.go
panic: مشكلة ما حدثت المثال التالي: التأجيل (Defer).