
สวัสดีครับ ในบทความนี้ก็เป็น EP.12 แล้วนะครับ โดยเนื้อหาจะเป็นเรื่องเกี่ยวกับ Recover ในภาษา Go ซึ่งจะเป็นเนื้อหาที่ต่อเนื่องมาจาก Go EP.11 Panic ในภาษา Go ครับ
สําหรับท่านใดที่ยังไม่ได้อ่าน EP.11 ท่านสามารถกลับไปอ่านก่อนได้นะครับที่นี่ Go EP.11 Panic ในภาษา 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 คืออะไร และนําไปใช้งานอย่างไร
เนื้อหาในบทความนี้ก็มีเพียงเท่านี้ครับ แล้วพบกันใหม่ในบทความหน้านะครับ ของคุณครับ
สวัสดีครับ วันนี้ผมได้ไปเจออุปกรณ์ที่ผมทําขึ้นไว้มื่อหลายปีก่อน ที่ทําจากของเหลือใช้ มันคือไฟฉายที่ใช้พลังงานแสงอาทิตย์ สามารถไว้ใช้ในยามฉุกเฉิน เช่น นํ้าท่วม ไฟฟ้าไม่สามารถใช้ได้เป็นเวลานานๆ, Camping ฯลฯ ผมจึงมาสอนวิธีการทําให้ผู้ที่สนใจได้ทําไว้ใช้งานกัน เน้นทํางายๆ อุปกรณ์น้อยๆ :)
ระบบ File และ Directory ใน Ubuntu จะมีการกําหนดสิทธิ์การ Read, Write และ Execute ของ User โดยจะสามารถดูได้จากคําสั่งนี้ls -lจะได้ออกมาตามรูปด้านล่างImageจากรูปจะแสดงผลออกมาเป็นข้อมูลต่างๆ แต่ในบทความนี้เราจะสนใจแค่ 2 คอลัมน์ คือในกรอบสีแดง และสีเขียว รายละเอียดมีดังนี้
สวัสดีครับ บทความนี้จะเป็นเรื่องเกี่ยวกับ Error ของ Docker ครับ คือ "Docker no space left on device error" ซึ่งเกิดจาก Docker ไม่สามารถเขียนไฟล์ Docker.qcow2 ได้ เนื่องจาก ไฟล์ดังกล่าวมีขนาดใหญ่เกินไป