<< Chapter < Page | Chapter >> Page > |
MsgBox "Truoc khi goi thu tuc"
Call GoiThuTuc
MsgBox "Sau khi goi thu tuc"
End Sub
Lưu dự án vào thư mục Basic\Bt1II-8:
Form: tên là form1
Project: Debug
Bước 3: Chạy chương trình. VB đưa ra hộp thoại để bắt lỗi (debug) chương trình. Ta chọn End để trở về cửa sổ soạn thảo.
Tạo tập tin thực thi tên Debug.exe bằng cách chọn File\Make Debug.exe. Chạy tập tin Debug.exe từ Windows Explorer ta nhận được hộp thoại báo lỗi và chương trình tự động chấm dứt.
Nhận xét kết quả khi thực hiện chương trình.
Bước 4: Bây giờ ta thêm vào đoạn mã xử lý lỗi trong thủ tục của sự kiện Form_Load:
Private Sub Form_Load()
On Error GoTo Xulyloi
MsgBox "Truoc khi goi thu tuc"
Call GoiThuTuc
MsgBox "Sau khi goi thu tuc"
Thoat:
Exit Sub
Xulyloi:
MsgBox "Su kien Form_Load - Loi xay ra: "&Err.Description
Resume Thoat
End Sub
Bước 5: Lưu dự án và chạy chương trình. Nhận thấy, thay vì ta nhận được câu thông báo lỗi từ VB, một hộp thoại báo lỗi do ta đưa vào xuất hiện. Lưu ý, những lỗi được bắt trong thủ tục Form_Load (chứ không phải trong GoiThuTuc()). Nguyên nhân vì thủ tục GoiThuTuc() được gọi bởi thủ tục xử lý sự kiện Form_Load.
Bước 6: Biên dịch lại thành tập tin Debug.exe, chạy nó. Nhận xét kết quả.
Bước 7: Các kết quả trên cho ta biết được các lỗi trong sự kiện Form_Load được xử lý bởi các thao tác bắt lỗi trong thủ tục Form_Load. Nhưng nếu thủ tục GoiThuTuc() cũng có các thao tác bắt lỗi chương trình thì sao? Đơn giản giả sử một lỗi xuất hiện trong GoiThuTuc(). Bộ phận xử lý lỗi của GoiThuTuc (do ta thêm vào để bắt lỗi chương trình) sẽ thực thi thay vì đoạn lệnh bắt lỗi của sự kiện Form_Load được thực hiện. Khi GoiThuTuc chấm dứt, quyền xử lý lỗi mới trao lại cho sự kiện Form_Load.
Sửa lại thủ tục GoiThuTuc như sau:
Public Sub GoiThuTuc()
Dim bien As Integer
On Error GoTo Xulyloicucbo
MsgBox "Truoc khi gan tri cho bien"
bien = "Bien nguyen khong nhan gia tri la chuoi"
MsgBox "Sau khi gan tri cho bien: "&"Bien = "&Format(bien)
Thoatthutuc:
Exit Sub
Xulyloicucbo:
MsgBox "GoiThuTuc() - Loi xay ra: "&Err.Description
Resume Thoatthutuc
End Sub
Bước 8: Lưu dự án và chạy chương trình. Thay đoạn mã Resume Thoatthutuc bằng Resume và chạy chương trình. Một vòng lặp vô tận xảy ra do chương trình sẽ quay lại đoạn mã bị lỗi và cố gắng thực thi nó; để thoát chương trình ta phải bấm tổ hợp phím Ctrl + Break.
Bây giờ thay Resume bằng Resume Next và chạy lại chương trình. Nhận xét kết quả. Giải thích.
Hình I.17: Phương trình bậc 1
Các ký tự chữ hoa: 'A' ...'Z'
Các ký tự chữ thường: 'a' ... 'z'
Các ký tự chữ số : '0' ... '9'
Các ký tự khác.
Notification Switch
Would you like to follow the 'Giáo trình visual basic' conversation and receive update notifications?