Panic
در زبان گو panic همانند exception به معنای خروج از برنامه در شرایط غیر عادیه. panic در ۲ حالت زیر پیش میآید:
- خطاهای در زمان اجرای برنامه
- فراخوانی تابع panic توسط برنامه نویس در بخش های مختلف برنامه
خطاهای در زمان اجرای برنامه
خطاهای panic در زمان اجرا به دلایل زیر میتواند رخ دهد:
- خطای Out of bounds/range array/slice
- فراخوانی متغیری که nil pointer باشد
یعنی به هیچ آدرسی از حافظه
memoryاشاره نمیکند
- ارسال داده برروی کانالهای بسته شده
- اtype assertion نادرست
توسط برنامه نویس
ما میتونیم هرجایی از بدنه توابع خود، تابع panic را فراخوانی کنیم البته این روش پیشنهاد نمیشه و روش پیشنهادی استفاده از شیوه ارور هندلینگ خود گولنگ است و فقط در صورت لزوم بهتر است از پنیک استفاده شود. همینطور شما باید در داکیومنت برنامه ذکر کنید که کدام قسمت برنامه امکان پنیک را دارد تا دیگران بتوانند در صورت لزوم آن را recover کنند.