|
در Go روش رایج این است که خطاها را از طریق یک مقدار بازگشتی صریح و جداگانه اعلام کنیم. این برخلاف استثناهایی (exceptions) است که در زبانهایی مثل Java، Python و Ruby استفاده میشود، و برخلاف مقدار واحدِ نتیجه/خطا که گاهی در C به کار میرود. رویکرد Go باعث میشود بهراحتی ببینیم کدام توابع خطا برمیگردانند و خطاها را با همان ساختارهای زبانی مدیریت کنیم که برای کارهای دیگر (غیر از خطا) استفاده میکنیم. برای جزئیات بیشتر، مستندات بستهٔ errors و این مقاله را ببینید. |
|
![]()
|
|
|
|
|
طبق قرارداد، خطاها آخرین مقدار بازگشتی هستند و نوع
|
|
|
|
|
|
مقدار |
|
|
خطای نگهبان (sentinel error) متغیری از پیش تعریفشده است که برای نشان دادن یک وضعیت خطای مشخص به کار میرود. |
|
|
|
|
میتوانیم خطاها را در خطاهای سطح بالاتر بپیچیم
(wrap) تا اطلاعات زمینهای اضافه کنیم. سادهترین
راه، استفاده از فعل |
|
|
|
|
روش رایج، بررسی درونخطی خطا در همان خط |
|
|
|
|
|
|
|
|
مثال بعدی: خطاهای سفارشی.