Thông thường, thoát vải ngay khi lệnh run() trả về mã thoát khác. Đối với một số cuộc gọi, tuy nhiên, điều này được mong đợi. Ví dụ: PNGOut trả về mã lỗi 2 khi không thể nén tệp.Tôi có thể nhận các mã lỗi khi sử dụng các lệnh Fabric để chạy() trong một remote shell không?
Hiện tại tôi chỉ có thể phá vỡ giới hạn này bằng cách sử dụng logic vỏ (do_something_that_fails || true
hoặc do_something_that_fails || do_something_else
), nhưng tôi muốn có thể giữ logic của mình bằng Python đơn giản (như lời hứa của Fabric).
Có cách nào để kiểm tra mã lỗi và phản ứng với mã lỗi thay vì phải lo sợ về Vải và chết không? Tôi vẫn muốn các hành vi mặc định cho các cuộc gọi khác, vì vậy thay đổi hành vi của nó bằng cách sửa đổi môi trường dường như không phải là một lựa chọn tốt (và theo tôi nhớ, bạn chỉ có thể sử dụng nó để cảnh báo thay vì chết).
Trước khi ai đó này đánh dấu một trùng lặp: [câu hỏi này có liên quan] (http://stackoverflow.com/questions/3876936/how-to-continue-the-task-when- vải-đáp-một-lỗi), nhưng như tôi đã nói, tôi muốn _react_ đến lỗi, không bỏ qua chúng. –
Câu trả lời hiện được chấp nhận là ngày. Kể từ tháng 7 năm 2013, đã có một biến môi trường cho phép bạn chỉ định ngoại lệ nào sẽ được đưa ra khi xảy ra lỗi (mặc định là 'SystemExit', không phải là hậu duệ của Ngoại lệ, đó là lý do khiến chương trình của bạn bị hỏng). Xem câu trả lời của tôi: http://stackoverflow.com/a/25293275/901641 – ArtOfWarfare
//, tôi tò mò về cách Invoke sẽ xử lý việc này. –