Cover image

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

31 Oct 2021

Share to:

สวัสดีครับ ในบทความนี้ก็เป็น 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

TeamViewer ใช้ Visual Studio แล้วหน้าจอดํา

เมื่อใช้งาน TeamViewer แล้วในระหว่าง Remote มีการเปิดโปรแกรม Visual Studio 2015 ขึ้นมาใช้งาน จะเกิดปัญหาคือ หน้าจอจะไม่ตอบสนองต่อการกระทําเลย ดังภาพ

สร้างรายได้จากการ Search ด้วย Presearch

สวัสดีครับ โดยปกติเราก็ใช้งาน google ในการค้นหาข้อมูลที่เราอยากจะรู้ แต่จะดีกว่ามั้ยในการ Search ของเราแต่ละครั้งสามารถสร้างรายได้ให้เราได้ด้วย ในบทความนี้เรามีคําตอบครับว่าทําอย่างไรอันดับแรกเราไปเรียนรู้เกี่ยวกับ Presearch กันก่อนครับ

ทําความรู้จักกับ Neo Pixel WS2812B

Neo Pixel WS2812B  คืออะไร?Neo Pixel WS2812B คือ หลอด LED ที่มีรูปร่างเป็นสี่เหลี่ยมแบนๆ ภายในจะประกอบไปด้วย Chip เบอร์ WS2812B และ LED ขนาดเล็กๆ 3 สี คือ RGB (Red, Green, Blue) โดยที่ Chip WS2812B จะทําหน้าที่ควบคุมการผสมสีของ LED RGB ให้เป็นสีต่างๆได้ถึง 16 ล้านสี หน้าตาจะประมาณรูปด้านล่าง


Copyright © 2019 - 2024 thiti.dev |  v1.19.0 |  Privacy policy |  status | 

            วงแหวนเว็บ