Theo mặc định Xdebug sẽ đổ bất kỳ ngoại lệ cho dù nó được bắt hay không:Vô hiệu hóa Xdebug của bán phá giá của ngoại lệ bắt
try {
throw new Exception();
}
catch (Exception $e) {
}
echo 'life goes on';
Với XDebug kích hoạt và các thiết lập mặc định đoạn mã này sẽ thực sự ra giống như sau (được định dạng tốt):
(!) Exception: in /test.php on line 3 Call Stack
# Time Memory Function Location 1 0.0003 52596 {main}() ../test.php:0
life goes on
Có thể tắt hành vi này và chỉ bán phá giá các trường hợp ngoại lệ chưa được nắm bắt?
Xin cảm ơn trước.
CẬP NHẬT: Tôi sắp kết luận rằng đây là lỗi, vì xdebug.show_exception_trace bị tắt theo mặc định nhưng nó không hoạt động như mong đợi (sử dụng Xdebug v2.0.5 với PHP 5.2.10 trên Ubuntu 9.10).
Tôi đồng ý việc này có liên quan đến xdebug.show_exception_trace. Tôi nghĩ rằng khi đặt thành 0, nó sẽ bỏ qua các ngoại lệ bị bắt, nhưng bằng cách nào đó điều này không hoạt động ngay cả khi vô hiệu hóa nó một cách rõ ràng. – nuqqsa
Nói chuyện với Derick trên # php.pecl @ EFNet hoặc sử dụng trình theo dõi lỗi tại http://bugs.xdebug.org/ – Artefacto
Nhận xét cuối cùng này làm cho câu trả lời của bạn hoàn tất :) Tôi chắc chắn sẽ báo cáo lỗi này trong trường hợp tôi có thể vẫn tái tạo nó trong 2.1.0RCx. Cảm ơn. – nuqqsa