Go EP.11 Panic ในภาษา Go

31 Oct 2021,
Share: 
Cover image

สวัสดีครับ ในบทความนี้ก็เป็น EP.11 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Panic คืออะไร ใช้ทําอะไร และมีวิธีการใช้อย่างไร

สําหรับท่านใดที่ยังไม่ได้อ่าน EP.10 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.10 Defer ในภาษา Go

มาเริ่มเรียนรู้ไปด้วยกันตามหัวข้อด้านล่างเลยครับ

Panic ในภาษา Go คืออะไร

Panic เป็นคําสั่งที่บังคับโปรแกรมของเราให้เกิด Runtime Error ขึ้นมา ซึ่งเราจะใช้ในกรณีที่เราต้องการให้โปรแกรมของเราจบการทํางานทันที

ตัวอย่างเหตการณ์เรานํา Panic ไปใช้เช่น ต่อ Database ไม่ได้, อ่านไฟล์ไม่ได้ ฯลฯ ซึ่งเหตุการณ์เหล่านี้จะส่งผลการทํางานทั้งโปรแกรม

มาดูตัวอย่างการใช้งาน Panic กันดังนี้ครับ

package main

import (
	"fmt"
	"io/ioutil"
)

func main() {
	b, err := ioutil.ReadFile("myfile.json")

	if err != nil {
		panic(err)
	}

	fmt.Printf("%v", b)
}

จากตัวอย่าง Code ด้านบนจะเห็นว่าเมื่ออ่านไฟล์ไม่ได้เราจะสั่งให้ Panic ส่งผลให้เกิด Runtime error ออกมาประมาณนี้ครับ

ในจังหวะที่ Panic ออกมา จะยังไม่เกิด Runtime error ในทันทีทันใด แต่จะเกิด “PANICKING STATE” ขึ้นมาก่อนครับ เพื่อรอ Recover ครับ (เราจะเรียนรู้กันในหัวข้อถัดไปเรื่องเกี่ยวกับ Recover) แต่ถ้าไม่มี Recover ก็จะเกิด Runtime error ขึ้น และจบการทํางานของโปรแกรม

ในบทความนี้ก็มีเนื้อหาเพียงเท่านี้ครับ สําหรับบทความต่อไปจะเป็นเรื่องเกี่ยวกับ Go EP.12 Recover ในภาษา Go ซึ่งเป็นเนื้อหาต่อเนื่องจากบทความนี้ครับ กดเข้าไปอ่านต่อได้เลยครับ ขอบคุณครับ

Suggestion blogs

วิธี set default printer device CUPS linux

วิธีการ  Set default printer device ใน CUPS บนระบบปฎิบัติการ linux สําหรับใครที่ยังไม่รู้จักว่า CUPS คืออะไร ไปอ่านเพิ่มเติมได้ที่ ติดตั้ง และ share printer to raspberry pi or linux computer

Config proxy for docker

สวัสดีครับ บทความนี้เป็นเรื่องเกี่ยวกับการใช้ Docker ผ่าน Proxy เราจะมาดูถึงวิธีการ Config กันครับ ซึ่งวิธีการ Config proxy ให้กับ Docker นั้นไม่ยาก ทําตามขั้นตอนนี้ได้เลย

คํานวณความต้านทาน วงจรผสม

การคํานวณหาค่าคามต้านทานในวงจรผสม(ทั้งขนาน และอนุกรมรวมกันในวงจร) นั้นสามารถทําได้โดยยุบวงจรไปทีละส่วนไปเรื่อยๆ จนได้ค่าความต้านทานรวมทั้งหมด ถ้ายังนึกภาพไม่ออก มาดูตามตัวอย่างนี้ได้เลยครับ ตัวอย่าง ถ้าต้องการหาค่าความต้านทานรวม(RT) ของวงจรนี้


Copyright © 2019 - 2026 thiti.dev |  v1.60.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ