2016-11-11 15 views

Trả lời

17

Có, toán tử ? tương đương với try!(). ? hiện đang ở chế độ Rust 1.13, released on November 10, 2016.

Nguồn tài liệu tốt nhất hiện tại có vẻ là RFC 0243. Lưu ý rằng catch được mô tả trong RFC chưa được thực hiện tại văn bản này (issue).

+0

Tôi dường như nhớ có những hạn chế, so với macro, trong việc chuyển đổi lỗi; cuối cùng nó đã được giải quyết chưa? –

+2

@MatthieuM. theo RFC, nó thực hiện chuyển đổi lỗi tương tự: 'Giống như macro thử hiện tại!(),? nhà điều hành cũng sẽ thực hiện một "upcast" ngầm định trên loại ngoại lệ. ' Nhưng nó sẽ được tốt đẹp, cho rằng chỉ một phần của RFC đã được thực hiện, để có tài liệu dứt khoát về những gì thực sự bây giờ trong ngôn ngữ. :-) –

+2

'?' Sử dụng đặc tính sóng mang, và vì lý do đó, suy luận kiểu của nó hơi khác so với khi sử dụng 'try!()'; cái sau là 'Result'-specific. – bluss

Các vấn đề liên quan