پرش به مطلب اصلی

Panic

در زبان گو panic همانند exception به معنای خروج از برنامه در شرایط غیر عادیه. panic در ۲ حالت زیر پیش می‌آید:

  • خطاهای در زمان اجرای برنامه
  • فراخوانی تابع panic توسط برنامه نویس در بخش های مختلف برنامه

خطاهای در زمان اجرای برنامه

خطاهای panic در زمان اجرا به دلایل زیر می‌تواند رخ دهد:

  • خطای Out of bounds/range array/slice
  • فراخوانی متغیری که nil pointer باشد یعنی به هیچ آدرسی از حافظه memory اشاره نمی‌کند
  • ارسال داده برروی کانال‌های بسته شده
  • اtype assertion نادرست

توسط برنامه نویس

ما می‌تونیم هرجایی از بدنه توابع خود، تابع panic را فراخوانی کنیم البته این روش پیشنهاد نمیشه و روش پیشنهادی استفاده از شیوه ارور هندلینگ خود گولنگ است و فقط در صورت لزوم بهتر است از پنیک استفاده شود. همینطور شما باید در داکیومنت برنامه ذکر کنید که کدام قسمت برنامه امکان پنیک را دارد تا دیگران بتوانند در صورت لزوم آن را recover کنند.