อ่าน 2 นาที
การจากไปอย่างสง่างาม
การออกจากโปรแกรมอย่างสง่างาม (หรือการจัดการอย่างสง่างาม ) เป็นรูปแบบการเขียนโปรแกรม ง่ายๆ ที่โปรแกรม ตรวจพบเงื่อนไข ข้อผิดพลาดร้ายแรงและ "ออกจากโปรแกรมอย่างสง่างาม"...
การจากไปอย่างสง่างาม
การออกจากโปรแกรมอย่างสง่างาม[ 1 ] (หรือการจัดการอย่างสง่างาม ) เป็นรูปแบบการเขียนโปรแกรม ง่ายๆ ที่โปรแกรม ตรวจพบเงื่อนไข ข้อผิดพลาดร้ายแรงและ "ออกจากโปรแกรมอย่างสง่างาม" ในลักษณะที่มีการควบคุม มักจะพิมพ์ข้อความแสดงข้อผิดพลาด โดยละเอียด ไปยังเทอร์มินัลหรือบันทึกเป็นส่วนหนึ่งของการออกจากโปรแกรมอย่างสง่างาม
โดยปกติแล้ว โค้ดสำหรับการออกจากโปรแกรมอย่างราบรื่นจะมีอยู่เมื่อทางเลือกอื่น—การปล่อยให้ข้อผิดพลาดไม่ถูกตรวจพบและไม่ได้รับการจัดการ —จะทำให้เกิดข้อผิดพลาดที่ไม่พึงประสงค์หรือพฤติกรรมที่ผิดปกติในภายหลัง ซึ่งจะทำให้ โปรแกรมเมอร์แก้ไขข้อบกพร่องได้ยากขึ้นโค้ดที่เกี่ยวข้องกับการออกจากโปรแกรมอย่างราบรื่นอาจดำเนินการเพิ่มเติม เช่น การปิดไฟล์เพื่อให้แน่ใจว่าโปรแกรมปล่อยข้อมูลไว้ในสถานะที่สอดคล้องกันและสามารถกู้คืนได้
การออกจากโปรแกรมอย่างราบรื่นนั้นไม่ใช่สิ่งที่ต้องการเสมอไป ในหลายกรณี การที่โปรแกรม หยุดทำงาน โดยสมบูรณ์ อาจเปิดโอกาสให้ผู้พัฒนาซอฟต์แวร์สามารถแนบดีบักเกอร์หรือรวบรวมข้อมูลสำคัญ เช่น ไฟล์ดัมพ์แกน ประมวลผล หรือสแต็กเทรซเพื่อวินิจฉัยสาเหตุที่แท้จริงของข้อผิดพลาดได้
ในภาษาโปรแกรมที่รองรับการจัดการข้อยกเว้น อย่างเป็นทางการ การออกจากโปรแกรมอย่างราบรื่นอาจเป็นขั้นตอนสุดท้ายในการจัดการข้อยกเว้น ในภาษาโปรแกรมอื่นๆ การออกจากโปรแกรมอย่างราบรื่นสามารถทำได้โดยการเพิ่มคำสั่งเพิ่มเติมในตำแหน่งที่อาจเกิดข้อผิดพลาด
วลี "การจากไปอย่างสง่างาม" ยังถูกนำมาใช้ในความหมายทั่วไปถึงการปล่อยวางจากงานหรือความสัมพันธ์ในชีวิตที่สิ้นสุดลง[ 2 ] [ 3 ]
ในภาษา Perl
ในภาษาโปรแกรมPerl การออกจากโปรแกรมอย่างราบรื่นมักจะใช้ตัวดำเนิน การ dieตัวอย่างเช่น โค้ดสำหรับการเปิดไฟล์มักจะมีลักษณะดังต่อไปนี้:
# เปิดไฟล์ 'myresults' เพื่อเขียนข้อมูล หรือแสดงข้อความแสดงข้อผิดพลาดที่เหมาะสมopen RESULTS , '>' , 'myresults' or die "can't write to 'myresults' file: $!" ;หากการเปิดไฟล์myresultsล้มเหลว โปรแกรมที่บรรจุไฟล์นั้นจะยุติการทำงานพร้อมข้อความแสดงข้อผิดพลาดและสถานะการออกที่บ่งชี้ว่าเป็นการยุติการทำงานที่ผิดปกติ
ในภาษาจาวา
ในภาษาการเขียนโปรแกรมJava บล็อก try...catchถูกใช้บ่อยเพื่อดักจับข้อยกเว้นโค้ดที่อาจเป็นอันตรายทั้งหมดจะถูกวางไว้ภายในบล็อก และหากเกิดข้อยกเว้นขึ้น โค้ดนั้นจะหยุดทำงานหรือถูกดักจับ
import java.io.File ; import java.io.IOException ; import java.util.Scanner ;try { // ลองอ่านไฟล์ "file.txt" Scanner sc = new Scanner ( new File ( "file.txt" )); while ( sc . hasNextLine ()) { System . out . println ( sc . readLine ()); } sc . close (); } catch ( IOException e ) { // ไม่สามารถอ่านไฟล์ได้System . err . println ( "ไม่สามารถอ่านไฟล์ได้ รายละเอียดข้อผิดพลาด:" ); e . printStackTrace (); }ใน C
ในภาษา Cสามารถใช้ ฟังก์ชัน error(3)ซึ่งมีให้ในGNUโดยไลบรารี GNU C
#include <errno.h> #include <error.h> #include <fcntl.h>int fd ; if (( fd = open ( "/dev/urandom" , O_RDONLY )) < 0 ) { error ( 1 , errno , "Open failed" ); }หากพารามิเตอร์ตัวแรกไม่ใช่ศูนย์ ฟังก์ชันนี้จะออกจากกระบวนการหลักและส่งคืนค่าพารามิเตอร์นั้น
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การจากไปอย่างสง่างาม
การออกจากโปรแกรมอย่างสง่างาม (หรือการจัดการอย่างสง่างาม ) เป็นรูปแบบการเขียนโปรแกรม ง่ายๆ ที่โปรแกรม ตรวจพบเงื่อนไข ข้อผิดพลาดร้ายแรงและ "ออกจากโปรแกรมอย่างสง่างาม"...
ในภาษา Perl
ใน ภาษาโปรแกรม Perl การออกจากโปรแกรมอย่างราบรื่นมักจะใช้ตัวดำเนิน การ die ตัวอย่างเช่น โค้ดสำหรับการเปิดไฟล์มักจะมีลักษณะดังต่อไปนี้:
ในภาษาจาวา
ในภาษาการเขียนโปรแกรม Java บล็อก try...catch ถูกใช้บ่อยเพื่อดักจับ ข้อยกเว้น โค้ดที่อาจเป็นอันตรายทั้งหมดจะถูกวางไว้ภายในบล็อก และหากเกิดข้อยกเว้นขึ้น โค้ดนั้นจะหยุดทำงานหรือถูกดักจับ
ใน C
ใน ภาษา C สามารถใช้ ฟังก์ชัน error(3) ซึ่งมีให้ใน GNU โดย ไลบรารี GNU C