Chuyển đến nội dung
Diễn đàn CADViet
quansla

[Hỏi] Bẫy lỗi khi sử dụng lệnh (grread ...)

Các bài được khuyến nghị

Các bác  cho em hỏi làm thế nào để bẫy lỗi (khi người dùng nhấn ESC) trong khi sử dụng code (grread nil 4 1)

Em cảm ơn các bác

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Không rõ bác đã thử chưa với Cad 2012 ở máy em code như thế này không có khả năng bắt lỗi


(defun c:thunghiem( / myerr old_err gr ga gb roop)

(defun myerr (msg)

(if msg (princ (strcat "\nBay loi thu nghiem: " msg)))

(if old_err (setq *error* old_err))

(princ))

(setq old_err *error* *error* myerr)

(setq roop T)

(while roop

(princ "\n Bat ky de kiem tra= .....\tSpace/Enter=Quit:")

(setq gr (grread nil (+ 2 4 8) 2)

ga (car gr)

gb (cadr gr))

(cond

((member gr '((2 13)(2 32))) ;; "" Space or Enter

(princ"\nBan da chon quit")

(setq roop nil))

(T

(princ "\nGia tri gr la:")

(princ gr)

(princ "\tGia tri ga la:")

(princ ga)

(princ "\tGia tri gb la:")

(princ gb))

)

)

(if old_err (setq *error* old_err))

(princ)

)

 

 

 

Trong suốt quá trình thực hiện lệnh, việc nhấn phím bất kỳ chuột trái/ phải code vẫn thực hiện, nhưng nếu ấn ESC là cần tắt hoàn toàn Cad mới thoát khỏi lỗi

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bạn viết thế này

 (defun myerr (msg)    (if msg (princ (strcat "\nBay loi thu nghiem: " msg)))    (setq roop nil)    (if old_err (setq *error* old_err))    (princ)  )
 (defun myerr (msg)

    (if msg (princ (strcat "\nBay loi thu nghiem: " msg)))

    (setq roop nil)

    (if old_err (setq *error* old_err))

    (princ)

  )

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cảm ơn bác nhé, không hiểu do sơ suất ở đâu, hồi sáng em đã từng thủ cách đặt roop bằng nil ngay khi bắt lỗi mà máy vẫn treo, giờ về nhà dùng code đó lại được, mai để em mang lên cơ quan check lại máy trên đó vậy

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×