<< 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.

Bài tập tự làm

  1. Thiết kế chương trình cho phép nhập vào các hệ số a, b của phương trình bậc 1 dạng: ax+b=0; sau đó giải phương trình này. Giao diện chương trình có thể như sau:

Hình I.17: Phương trình bậc 1

  1. Thiết kế chương trình cho phép nhập vào các hệ số a, b, c của phương trình bậc 2 dạng: ax2 + bx + c=0; sau đó giải phương trình này.
  2. Thiết kế chương trình cho phép nhập vào một ký tự, sau đó kiểm tra xem ký tự đó thuộc tập hợp nào trong các tập ký tự sau:

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.

  1. Giải phương trình bậc 1 bằng cách sử dụng cấu trúc Select Case
  2. Tạo một chương trình hiển thị một danh sách chọn lựa cho người dùng trong một ListBox, sau đó xử lý với cấu trúc quyết định Select Case.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Giáo trình visual basic. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10777/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Giáo trình visual basic' conversation and receive update notifications?

Ask