Go EP.12 Recover ในภาษา Go

1 Nov 2021,
Share: 
Cover image

สวัสดีครับ ในบทความนี้ก็เป็น EP.12 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Recover ในภาษา Go ซึ่งจะเป็นเนื้อหาที่ต่อเนื่องมาจาก Go EP.11 Panic ในภาษา Go ครับ

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

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

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

Recover ในภาษา Go เป็นคําสั่งที่ทํางานร่วมกันกับ Panic คือ Recover จะสามารถดักจับ “PANICKING STATE” ได้ครับ หมายความว่าถ้ามีการเกิด Panic ขึ้นเราสามารถใช้ Recover มาดักก่อนที่จะเกิด Runtime error ได้

ลองดูตามตัวอย่างนี้ครับ

package main

import (
	"fmt"
	"io/ioutil"
)

func main() {
	defer panicHandler()

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

	if err != nil {
		panic("readFileError")
	}

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

func panicHandler() {
	r := recover()
	if r != nil {
		fmt.Printf("message from panic: %s", r)
	}
}

// Output:
// message from panic: readFileError

จาก Code ด้านบนจะเห็นว่าเราใช้ Recover ไว้ใน Defer เนื่องจาก Defer จะทํางานทุกครั้งไม่ว่า Function นั้นๆจะจบแบบไหนก็ตาม

Recover จะเอาค่าที่เรา panic ไว้ออกมา และทําการยกเลิก Runtime error ทําให้เราได้ Output เป็นแบบนี้ครับ

recover-go

มาถึงจุดนี้เราก็ได้เรียนรู้กันไปแล้วว่า Recover คืออะไร และนําไปใช้งานอย่างไร

เนื้อหาในบทความนี้ก็มีเพียงเท่านี้ครับ แล้วพบกันใหม่ในบทความหน้านะครับ ของคุณครับ

Suggestion blogs

วิธีปิด update google chrome

Google chrome จะ update อัตโนมัติ แต่ในบ้างครั้งเราไม่ต้องการจะใช้ version ใหม่ เพราะบางที่ version ใหม่อาจจะยังไม่ stable ดังนั้นเราจะมาปิด Google chrome update โดยมีขั้นตอนดังนี้ครับ

config ให้ Ubuntu apt-get ผ่าน proxy ได้

วิธีการ Config ให้ apt-get ผ่าน proxy ได้ เราจะต้องแก้ไขไฟล์ "/etc/apt/apt.conf"(ถ้าไม่มีไฟล์อยู่ ให้สร้างขึ้นมาใหม่)  แล้วใส่คําสั่งนี้เข้าไป

LED แอลอีดี คืออะไร

ความเป็นมาของ LEDLED ได้ถูกนํามาใช้ในแผงวงจรครั้งแรกเมื่อปี 1962 ซึ่งในตอนนั้น LED จะให้ความเข้มของแสงไม่มากนัก และมีเฉพาะ ความถี่ในช่วงแสง infrared ไม่สามารถมองเห็นด้วยตาเปล่า มักจะใช้กับอุปกรณ์ประเภทรีโมทคอนโทรลต่างๆ ต่อมา LED ถูกพัฒนาขึ้นมาเรื่อยๆจนสามารถเปล่งแสงได้ครอบคุมตั้งแต่ย่าน infrared แสงที่มองห็นไปจนถึงย่าน ultra violet หรือ UV ในปัจจุบัน LED ถูกพัฒนาจนมีความเข้มของแสงสูงมาก และสามารถให้แสงสีขาวได้ จนสามารถนํามาใช้แทนหลอดไฟส่องสว่างที่มีใช้อยู่ในปัจจุบัน


Copyright © 2019 - 2025 thiti.dev |  v1.56.0 |  Privacy policy | 

Build with ❤️ and Astro.

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