Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
4 replies to this topic

#1 quansla

quansla

    biết lệnh xclip

  • Members
  • PipPipPipPipPipPipPip
  • 641 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 27 October 2014 - 10:43 AM

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
  • 0

#2 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 27 October 2014 - 10:55 AM

http://www.cadviet.c...coding/page-100

Bẫy lỗi bằng hàm *error


  • 1

#3 quansla

quansla

    biết lệnh xclip

  • Members
  • PipPipPipPipPipPipPip
  • 641 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 27 October 2014 - 11:06 AM

http://www.cadviet.c...coding/page-100
Bẫy lỗi bằng hàm *error

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
  • 0

#4 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 27 October 2014 - 11:25 AM

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)
  )
  • 1

#5 quansla

quansla

    biết lệnh xclip

  • Members
  • PipPipPipPipPipPipPip
  • 641 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 27 October 2014 - 08:26 PM

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
  • 0