Có bất kỳ cách nào để mô phỏng try-finally
hoặc try-except
bằng ngôn ngữ không có chúng?Cách mô phỏng thử cuối cùng hoặc thử ngoại trừ các ngôn ngữ không có chúng
Nếu có một số ngẫu nhiên, không thể đoán trước, ngoại lệ xảy ra, tôi cần phải chắc chắn một số lần dọn dẹp.
i có thể hãy thử đảm bảo rằng không có ngoại lệ nào bị ném, theo cách đó tôi chắc chắn mã dọn dẹp của tôi luôn chạy - nhưng sau đó tôi sẽ không cần try-finally/except
.
Ngay lúc này, tôi đang cố gắng tạo một try-finally
ở Lua; nhưng tôi nghĩ rằng bất kỳ giải pháp sẽ làm việc trong các ngôn ngữ khác là tốt.
Mặc dù, đối với cuộc sống của tôi, tôi không thể tìm ra cách xử lý ngoại lệ mà không có hệ thống ống nước do cơ sở hạ tầng ngôn ngữ cung cấp.
Nhưng đừng bao giờ yêu cầu.
Chức năng "khẳng định" có phải là một tùy chọn không? http://www.lua.org/pil/8.3.html – Will
@ Sẽ không có vấn đề gì với các trường hợp ngoại lệ bị tôi ném hoặc tôi không *. tôi chỉ cần ngăn họ lại. Có thể 'khẳng định' làm điều đó không? –
Có, tôi tin rằng khẳng định sẽ ngăn chặn các ngoại lệ bị ném và cho phép bạn tăng ngoại lệ của riêng mình thay thế. Oh, và những gì Gerald đăng là một chức năng tốt nữa, pcall. Tôi không quá quen thuộc với việc xử lý lỗi trong Lua, nhưng tôi tin rằng có một vài chức năng sẽ làm những gì bạn muốn. – Will