Trong mô-đun của tôi, tôi đã có mã này:
croak("unable to parse file: $!");
Sau đó, trong các thử nghiệm của tôi, tôi muốn kiểm tra xem tôi nhận được thông báo lỗi ngay khi tôi cố gắng để phân tích một tập tin mà không tồn tại:
like(
exception { HTML::Tree->new_from_file("t/non_existent.html") },
qr!^unable to parse file: No such file !,
"opening missing file failed"
);
Điều này làm việc tốt, miễn là các thử nghiệm đang chạy bằng ngôn ngữ tiếng Anh. Nhưng nếu bạn chạy thử nghiệm bằng ngôn ngữ tiếng Đức, thông báo lỗi sẽ quay trở lại unable to parse file: Datei oder Verzeichnis nicht gefunden
và thử nghiệm không thành công. Các miền địa phương khác có vấn đề tương tự.
Tôi không thể tin đây là lần đầu tiên điều này xảy ra, nhưng tôi không thể tìm thấy bất kỳ mô-đun nào trên CPAN giải quyết vấn đề này. Mọi người có đơn giản không bao giờ kiểm tra phần $!
của thông báo lỗi không? Có giải pháp nào tốt hơn thay đổi kiểm tra để chỉ kiểm tra qr!^unable to parse file: !
không?
Lưu ý: đây là RT#77823 in HTML-Tree.
Sẽ ít hữu ích hơn nếu chỉ có số, nhưng tôi cho rằng tôi có thể bao gồm cả số và phiên bản chuỗi. Vấn đề khác là ENOENT không được bảo đảm có cùng giá trị số trên mọi hệ thống. Nó chỉ có vẻ như có nên có một giải pháp tốt hơn so với điều này. – cjm