2011-07-17 75 views
6

Xin chào Tôi có một trí nhớ khủng khiếp và tôi muốn in sơ đồ lớp của Lớp học ngoại lệ Java SE treo nó lên tường hoặc thứ gì đó mà tôi biết tôi không cần phải ghi nhớ nó, chỉ khi bạn thiết kế một phần mềm hoặc chuẩn bị cho một kỳ thi thật tốt khi có những thứ như thế này xung quanh bạn.Sơ đồ lớp ngoại lệ Java?

Tôi đã googled hầu hết các hình ảnh không hoàn chỉnh và có chất lượng kém, Vì vậy, tôi đã nghĩ đến việc chuyển đổi Javadocs thành UML? sau đó in ra uml có thể

Ai đó có thể giúp tôi không?

+0

Ghi chú rằng bất kỳ danh sách các trường hợp ngoại lệ (hoặc lớp) sẽ là không đầy đủ. Bạn có thể tìm thấy sơ đồ các lớp con của Ngoại lệ trong API, nhưng sẽ luôn có Ngoại lệ từ các gói của bên thứ ba hoặc từ mã của riêng bạn. Nói chung, tôi tìm thấy nhiều util chỉ để tìm kiếm ngoại lệ trong javadoc (khi gỡ lỗi) hoặc, nếu tôi đang mã hóa và không thể quyết định Exception khởi chạy, hãy tìm trong một gói liên quan của API (vg, java.io for I/O ngoại lệ liên quan) và xem nếu một cái gì đó phù hợp với tôi. – SJuan76

+0

Bạn có sử dụng bất kỳ IDE nào không, chúng có thể hiển thị biểu đồ tại chỗ, hữu ích hơn nhiều. Ngoài ra, bạn không cần tất cả các ngoại lệ tại một thời điểm thực sự. Phải thừa nhận rằng đó là một điều buồn cười để làm. – bestsss

Trả lời

7

Tôi cũng không thể nhớ tất cả chúng. Khi nhật thực tôi chỉ đơn giản là sử dụng chức năng built-in để hiển thị hệ thống phân cấp:

  • loại F4 trên một định nghĩa lớp và nó sẽ hiển thị hệ thống phân cấp
  • loại Ctrl + phím Shift + H , nhập loại bạn đang tìm kiếm và nhấn enter. Một lần nữa, nó cho bạn thấy thứ bậc
  • sau khi phân cấp có sẵn trong chế độ xem "Phân cấp", bạn có thể lọc theo ví dụ: sử dụng bộ làm việc.

Không thực sự là câu trả lời cho câu hỏi của bạn, nhưng điều này làm việc tốt cho tôi và tất cả mọi người tôi đã nói chuyện cho đến nay.

BTW: Thực hiện một ảnh chụp màn hình của "Hierarchy" xem và đây là câu trả lời cho câu hỏi của bạn :-)

0

Bạn có thể thiết kế đối chiếu mã java của bạn thành một sơ đồ lớp UML. Nó có thể giúp có một tầm nhìn tốt hơn về mã hiện có. một số công cụ khá tốt ở đảo ngược đặc biệt với Java. Chỉ cần google những từ sau đây "đảo ngược kỹ thuật java nhật thực" và bạn có được những gì bạn cần.

2

vài thống kê từ 7u3 OpenJDK rt.jar:

  • hệ thống phân cấp Throwable: 785 lớp
  • Lỗi hệ thống cấp bậc: 63 lớp
  • ngoại lệ hệ thống cấp bậc: 730 lớp
  • RuntimeException hệ thống cấp bậc: 242 lớp

Vì vậy, không thể có sơ đồ đầy đủ. Có thể bạn sẽ không sử dụng ngoại lệ từ các gói con của com.sun, org.omg hoặc hầu hết javax. Thông thường bạn làm việc trên một số tập hợp con ngoại lệ. Cá nhân tôi sử dụng phương pháp tương tự như SJuan - tìm kiếm ngoại lệ trong một gói cụ thể hoặc gói phụ.

0

Miễn phí Class Visualizer có thể làm điều đó cho bạn - không phải là biểu đồ, mà là một cây phân cấp. Bạn có thể thấy một phần cây con của Throwable trên ảnh chụp màn hình trên trang Features của dự án. Để có được kết quả mong muốn: tải rt.jar vào công cụ, tìm kiếm Throwable trên màn hình phân cấp và tận hưởng khám phá hàng trăm trường hợp ngoại lệ. Nếu ứng dụng của bạn khai báo một số ngoại lệ, hãy tải nó vào công cụ - bạn sẽ thấy chúng trên hệ thống phân cấp.