Trong khi trả lời PHP rename() doesn't throws exception on error Tôi đã tự hỏi nếu có bất kỳ chức năng PHP gốc nào ném một built-in Exception, bên cạnh các công cụ SPL?Có bất kỳ hàm PHP gốc nào có ném ngoại lệ tích hợp không?
Trả lời
Không thực sự. Nếu bạn đọc ghi chú trên trang mà bạn liên kết:
Lưu ý:
Internal PHP chức năng chủ yếu sử dụng Error reporting, chỉ hiện đại Object oriented mở rộng sử dụng ngoại lệ. Tuy nhiên, lỗi có thể đơn giản được dịch sang ngoại lệ với ErrorException.
Ahh có, nhưng điều đó có tính, vì dù sao thì OO ...? Tôi giải thích điều này là chỉ đề cập đến các chức năng kiểu thủ tục (mặc dù tôi có thể sai) – DaveRandom
Thú vị! Nhưng như xa như tôi có thể thấy nó chỉ trong một bối cảnh OO/Class không khi gọi một hàm đơn giản. Hoặc là? – powtac
Tôi nghi ngờ có bất kỳ bối cảnh nào không có OO, chỉ cần nhanh chóng greping bên trong thư mục nguồn php cho 'zend_throw_exception' cho thấy rằng chỉ có trong ngữ cảnh OO. –
PHP 5 có mô hình ngoại lệ tương tự như của các ngôn ngữ lập trình khác.
Mô hình lỗi/ngoại lệ của PHP là bất kỳ điều gì ngoại trừ các ngôn ngữ khác, IMHO là một trong những bit tồi tệ nhất trong thiết kế của PHP (và điều đó đang nói điều gì đó) – DaveRandom
Làm cách nào để trả lời câu hỏi này? – webbiedave
- 1. Oracle có bất kỳ hàm băm tích hợp nào không?
- 2. SQL gốc ném Tên cột không hợp lệ Ngoại lệ
- 3. Trong C#, có bất kỳ ngoại lệ tích hợp nào mà tôi không nên sử dụng không?
- 4. HttpClient bị kẹt mà không có bất kỳ ngoại lệ
- 5. Có cách nào tĩnh để ném ngoại lệ trong php
- 6. Có thể Monitor.Enter ném một ngoại lệ?
- 7. Bất kỳ giải pháp nào đối với Ngoại lệ Chấm dứt Hoạt động Không hợp lệ?
- 8. Có thích hợp để ném ngoại lệ từ CoerceValueCallback
- 9. NSMutableArray removeObjectAtIndex: ném ngoại lệ đối số không hợp lệ
- 10. Trường hợp ngoại lệ thời gian chờ ngẫu nhiên Selenium mà không có bất kỳ thông báo nào
- 11. Buộc ngắt bất kỳ ngoại lệ nào được ném trong chương trình
- 12. Đổi tên PHP() không ném ngoại lệ về lỗi
- 13. Có thích hợp hơn để kiểm tra xem nhà xây dựng có ném ngoại lệ không?
- 14. ASP.NET MVC - Trường hợp ném ngoại lệ?
- 15. WinApp Form Crash Không có bất kỳ lỗi hoặc ngoại lệ nào .Net
- 16. Lỗi ứng dụng mà không có bất kỳ loại ngoại lệ nào
- 17. Tại sao Enumerable.SequenceEqual ném ngoại lệ nếu tham số bất kỳ là null?
- 18. Ném ngoại lệ trong bộ xử lý ngoại lệ
- 19. Ném ngoại lệ từ một hàm tạo trong .NET
- 20. Có bất kỳ tên tệp linux không hợp lệ nào không?
- 21. TransactionScope ném ngoại lệ
- 22. LLVM ngoại lệ ném
- 23. WebAuthenticationBroker.AuthenticateAsync ném ngoại lệ
- 24. ném mới std :: ngoại lệ vs ném std :: ngoại lệ
- 25. Có 'ném ngoại lệ mới' yêu cầu thoát()?
- 26. Bất kỳ ý tưởng nào về cách tích hợp mã F # với C++ gốc?
- 27. Các phiên PHP có đặt bất kỳ cookie nào không?
- 28. Có phải "ném ngoại lệ" thực hành không tốt?
- 29. Trường hợp ngoại lệ phù hợp để ném khi xảy ra lỗi phân tích cú pháp?
- 30. Có bất kỳ tùy chọn tích hợp liên tục Clojure mạnh mẽ nào không?
Xin cảm ơn! Điều đó là hợp lý! Nhưng nó nói "* chủ yếu * sử dụng báo cáo lỗi". Có thực sự không? – powtac
@powtac: Ngoại lệ không được thêm vào PHP cho đến PHP5. Vì vậy, bất cứ ai đã là người dùng lâu dài của bất kỳ hình thức nào của PHP sẽ tự nhiên mong đợi các hàm PHP bình thường trả về một lỗi, và không phải là một ngoại lệ. Vì vậy, ngẫu nhiên bắt đầu ném vào các chức năng mà bắt đầu trở về trường hợp ngoại lệ thay vì các lỗi sẽ ném rất nhiều người đi. Sau đó, bạn cũng cần hai phương thức xử lý: một cho các lỗi bình thường và một cho các ngoại lệ. Tại sao kết hợp cả hai lại với nhau? – animuson
FYI, lỗi tự động ngoại lệ: http://stackoverflow.com/a/10919969/22470 – powtac