Cụ thể, có phân lớp tiêu chuẩn Exception
được sử dụng trong các trường hợp này không?Ngoại lệ tiêu chuẩn để ném trong Java cho các hoạt động không được hỗ trợ/triển khai là gì?
Trả lời
java.lang.UnsupportedOperationException
Bị đẩy để cho biết rằng các hoạt động yêu cầu không được hỗ trợ.
bỏ qua điều này vô lý "đây là một phần của bộ sưu tập khuôn khổ" nó là trong gói java.lang.', JavaDoc một cách rõ ràng tuyên bố đây là những gì nó được cho. –
@JarrodRoberson OK, tuyên bố đó thực sự cần được xóa khỏi tài liệu lớp học trong trường hợp đó. Ngoại lệ dường như được sử dụng bởi các gói khác. Tôi đoán nếu Oracle làm như vậy, thì chúng ta nên vậy. Tôi sẽ gửi báo cáo lỗi. –
Nếu bạn muốn biết thêm chi tiết và decription tốt hơn, bạn có thể sử dụng NotImplementedException từ commons-lang
Cảnh báo: Có sẵn trước khi phiên bản 2.6 và sau khi phiên bản 3.2, chỉ.
biệt giữa hai trường hợp, bạn đặt tên:
Để chỉ ra rằng hoạt động yêu cầu không được hỗ trợ và nhiều khả năng sẽ không bao giờ, ném ra một
UnsupportedOperationException
.Để chỉ ra các hoạt động yêu cầu đã chưa thực hiện được, lựa chọn giữa này:
Sử dụng
NotImplementedException
từ apache commons-lang đó đã có sẵn trong commons-sử dụng LANG2 và đã được tái bổ sung vào commons-lang3 trong phiên bản 3.2.Triển khai
NotImplementedException
của riêng bạn.Ném
UnsupportedOperationException
với một thông báo như "Chưa triển khai,".
Tôi sẽ làm điều này, bởi vì nó có vẻ hợp lý với tôi. "Tuy nhiên" hoặc "không bao giờ" được chỉ ra bởi Ngoại lệ cho một ý tưởng về cách phản ứng về điều này. – sschrass
#s 1 hoặc 2 rất thích hợp hơn trong thực tế.# 3 không nắm bắt được sự khác biệt ngữ nghĩa giữa "không được hỗ trợ" và "không được triển khai", nhưng có một lớp riêng biệt giúp dễ dàng thực hiện tìm kiếm nhanh hơn để xác minh rằng bạn chưa quên triển khai bất cứ điều gì bạn nên trước khi cam kết. –
Nếu bạn tạo một hàm trong NetBeans mới (chưa thực hiện), sau đó nó sẽ tạo ra một cơ thể phương pháp với các tuyên bố sau:
throw new java.lang.UnsupportedOperationException("Not supported yet.");
Vì vậy, tôi khuyên bạn nên sử dụng UnsupportedOperationException .
- 1. Ngoại lệ tiêu chuẩn Scala là gì?
- 2. Tiêu chuẩn cho việc ném ngoại lệ trong phân lớp
- 3. Thực tiễn tiêu chuẩn để ném ngoại lệ JavaScript là gì?
- 4. Giao diện Java ném ngoại lệ nhưng việc triển khai giao diện không ném ngoại lệ?
- 5. Khai báo và ném so với các trường hợp ngoại lệ không được khai báo
- 6. HttpWebRequest là ném ngoại lệ cho 404
- 7. Ném ngoại lệ tùy chỉnh trong Java
- 8. Ném nhiều ngoại lệ trong Java
- 9. Ngoại lệ được kiểm tra trong Java/C# là gì?
- 10. Ném ngoại lệ trong trình nạp tự động SPL?
- 11. Cách tắt "Ngắt khi ngoại lệ được ném" cho các loại ngoại lệ tùy chỉnh
- 12. Tiêu hủy temporaries chuỗi trong trường hợp ngoại lệ ném
- 13. kiểu java cho danh sách ngoại lệ dài ném
- 14. Loại ngoại lệ nào để ném cho các chuỗi
- 15. PrepareResponse() AsActionResult() ném ngoại lệ không được hỗ trợ DotNetOpenAuth CTP
- 16. Ném ngoại lệ từ các nhà thầu
- 17. Mục đích của việc ném các lớp con ngoại lệ cụ thể là gì?
- 18. Điều gì sẽ xảy ra khi ném ngoại lệ C++?
- 19. Xử lý ngoại lệ Netty - Trình xử lý ném ngoại lệ, sau đó là gì?
- 20. ném một ngoại lệ trong mục tiêu-c/ca cao
- 21. Bắt ngoại lệ được ném từ các tệp DLL
- 22. Magick.NET-x64 là ném một ngoại lệ "dll không tìm thấy" khi triển khai
- 23. Java: lớp học ném ngoại lệ?
- 24. WebAuthenticationBroker.AuthenticateAsync ném ngoại lệ
- 25. GSON JsonObject "Ngoại lệ hoạt động không được hỗ trợ: null" getAsString
- 26. recursive_directory_iterator ném ngoại lệ
- 27. ném mới std :: ngoại lệ vs ném std :: ngoại lệ
- 28. Ném một danh sách liên kết ngoại lệ trong Java
- 29. Phương pháp khai báo để ném ngoại lệ và phân lớp của ngoại lệ này
- 30. Thực hành không tốt là viết một phương thức không làm gì ngoại trừ việc ném một ngoại lệ?
Có phù hợp khi sử dụng khi một lớp không thực hiện phương pháp, nhưng các lớp con có thể làm như vậy? Nói cách khác, để có một phương thức trừu tượng trong một lớp không trừu tượng. – osa
@SergeyOrshanskiy Thật hữu ích khi nào, tùy thuộc vào cách bạn xây dựng một đối tượng, bạn cần phải tạo một lớp ẩn danh thực hiện một giao diện để khởi tạo biến thành viên, nhưng bạn không muốn nó được sử dụng. Nếu bạn đặt nó thành 'null' và bạn vô tình sử dụng nó (hoặc ai đó đã làm), bạn sẽ nhận được' NullPointerExceptions' mà ít rõ ràng hơn 'UnsupportedOperationExceptions' trong trường hợp này. Chỉ là một ví dụ. – 2rs2ts