การใช้งาน Try-Catch จัดการกับ error

วิธีการจัดการกับ Error ง่ายๆ อีกวิธีก็คือการใช้ Try-Catch นั่นเองครับ

คำสั่ง try-catch ทำหน้าที่ "ละเลย errror" ครับ ผมให้นิยามแบบนี้ละกัน 5555+
คือหากเป็นโค้ดโปรแกรมปกติ เมื่อเกิด error ขึ้น โปรแกรมจะหยุดทำงานทันที แต่หากเราใช้ try-catch โปรแกรมก็จะ "ละเลย" หรือ "ไม่สนใจ" error นั้น แล้วทำงานต่อไป เหมือนไม่มีอะไรเกิดขึ้น

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

% ------------------------ MATLAB Programing -------------------------%
% Example: How to use try-catch                                       %
% Create by: Kritthanit                                               %
% Create date: 20-12-2018                                             %
% Blog: https://loglike.blogspot.com                                  %
% Fanpage: https://www.facebook.com/Matlab-Programing-194695677296190 %
% --------------------------------------------------------------------%
clc;clear;close all;

try
    % normal process
    S = load('test01.txt');
    disp('Data in text file')
    disp(S)
    disp('----------------------')
catch err
    % do if try error
    disp(err.message);
end

disp('Program finish');

ในโปรแกรมนี้นะครับ ถ้าคำสั่ง load สามารถอ่านข้อมูลในไฟล์ test01.txt โปรแกรมก็จะแสดงข้อมูลในไฟล์นั้นออกมา และจบโปรแกรมด้วยคำว่า "Program finish"

แต่ถ้าคำสั่ง load อ่านข้อมูลไม่ได้ อาจจะเนื่องมาจาก ประเภทข้อมูลในไฟล์ไม่ถูกต้อง หรือไม่มีไฟล์นั้นอยู่ โปรแกรมก็จะบอกว่าทำไมอ่านไฟล์ไม่ได้ (แต่ไม่ได้ error) หลังจากนั้นก็จะแสดงคำว่า "Program finish"

แต่ถ้าไม่มีคำสั่ง try-catch แล้วคำสั่ง load อ่านไฟล์ไม่ได้ โปรแกรมจะแสดงข้อความ error บนหน้าจอ command window และหยุดทำงาน โดยสังเกตุได้ว่าจะไม่มีคำว่า "Program finish" แสดงบนหน้า command ซึ่งเป็น process สุดท้ายของโปรแกรม ดังนั้นจึงหมายความว่าโปรแกรมหยุดทำงานไปก่อนที่จะได้ทำงานคำสั่งนี้ คำสั่งนี้ก็เลยไม่แสดงผลออกมา

ลองมาดูตัวอย่างการรันจากวีดีโอกันเลยครับ

ความเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การแก้สมการ Differential ด้วย MATLAB

การหาค่าเฉลี่ยโดยไม่ต้องเก็บค่า

การเปรียบเทียบข้อมูล