مدیریت خطا
بخشی از دوره Go
در این دوره بیش از یکبار if err != nil را تایپ کردهاید بیآنکه بایستید و بپرسید err اصلاً چیست و از کجا میآید. توابع مدام و به شکلهای عادی و قابل انتظار شکست میخورند: فایلی که فراخواننده خواسته روی دیسک نیست، عددی که داده از محدوده بیرون است، مخرج یک تقسیم صفر است.
در درس گذشته با رابطها (interface) آشنا شدید، فهرستی از امضای متدها که هر نوعی فقط با داشتن متدهای درست برآوردهشان میکند، بیآنکه هیچ اعلانی این دو را به هم وصل کند. error سادهترین نمونه ممکن همین ایده است که مستقیم در خود زبان ساخته شده:
میخواهی Go مدیریت خطا را در یک محیط واقعی یاد بگیری؟
روی دکمه زیر بزن تا یک ماشین لینوکس با Go آماده دریافت کنی و مدیریت خطا را بهصورت عملی با یک مربی هوشمند که کدت را میشناسد تمرین کنی.
شروع این درسمدیریت خطاچه چیزهایی یاد میگیری
- Error interface
- Fmt.Errorf with %w
- Errors.Is
- Errors.As
- Custom error types
- Panic vs error
- Wrapping context into errors
این درس را به زبان خودت بخوان
همهٔ درسهای این دوره
20 درس- 1سلام، گو25 دقیقه
- 2متغیرها و انواع داده25 دقیقه
- 3کنترل جریان: if و for30 دقیقه
- 4توابع30 دقیقه
- 5اسلایسها (slices) و مپها (maps)35 دقیقه
- 6استراکتها (structs) و پوینترها (pointers)35 دقیقه
- 7متدها (methods) و اینترفیسها (interfaces)35 دقیقه
- 8مدیریت خطا35 دقیقه
- 9ماژولها (modules) و ساختار پروژه35 دقیقه
- 10پروژه نهایی CLI کوچک40 دقیقه
- 11گشتی در کتابخانه استاندارد40 دقیقه
- 12آزمایش و بنچمارکها (benchmarks)40 دقیقه
- 13گوروتینها (goroutines) و کانالها (channels)40 دقیقه
- 14الگوهای همزمانی45 دقیقه
- 15جنریکها (generics)35 دقیقه
- 16سرورهای HTTP45 دقیقه
- 17پایگاههای داده با database/sql45 دقیقه
- 18عملکرد و پروفایلسازی40 دقیقه
- 19الگوهای طراحی در Go40 دقیقه
- 20استقرار و محیط تولید45 دقیقه
