2009-03-17 29 views
7

Tôi đang chuyển đổi qua lại giữa Java và C# và một điều tôi bỏ lỡ khi tôi mã hóa trong C# là kiểm tra ngoại lệ bắt buộc (Mặc dù tôi thừa nhận rằng đôi khi tôi cũng thấy thỉnh thoảng khó chịu khi viết mã bằng Java).Có cách thay thế miễn phí nào cho thợ săn Ngoại lệ không?

Tôi biết rằng Exception Hunter có thể giúp bạn theo dõi những ngoại lệ mà một đoạn mã có thể ném nhưng có giải pháp thay thế miễn phí/rẻ hơn không? Tôi không thể thực sự biện minh cho £ 200 cho loại phần mềm addon vì nó chỉ là một sự khó chịu chứ không phải là một vấn đề lớn.

+2

Hãy để họ đi, anh bạn. Bạn không thể kiểm soát thế giới, bạn biết đấy. – Will

+1

Nhưng tôi muốn. Tôi thực sự muốn. : p –

+0

BTW, I +1 vì tôi quan tâm đến mục đích của tài liệu, không phải vì tôi tin rằng tôi có thể xử lý từng ngoại lệ ... – Will

Trả lời

8

Có. Chạy miễn phí Microsoft Pex trên mã của bạn. Nó sẽ hiển thị tất cả các ngoại lệ có thể được ném ra.

+0

Trông giống như một công cụ tuyệt vời, cảm ơn liên kết. Đáng tiếc là phiên bản thương mại chỉ hoạt động với phiên bản VS Team. – Dave

+1

Nếu bạn không có phiên bản Team của VS, bạn vẫn có thể sử dụng công cụ từ dòng lệnh. Nó tạo ra đầu ra HTML mà tôi nghĩ. –

+0

Điều này không làm phân tích tĩnh để tìm các ngoại lệ được ném ra, nó chỉ đơn giản là phân tích các phương thức bằng cách gọi chúng với các tham số được xác định theo phương pháp heuristically. Nó được thiết kế để tạo ra các bài kiểm tra đơn vị. http://exceptionplugin.codeplex.com/ - đây là một plugin ReSharper sẽ thực hiện công việc. Tác nhân Johnson là một bổ sung tốt cho nó - http://code.google.com/p/agentjohnsonplugin/ –

0

Trong khi tôi hiểu được những trường hợp ngoại lệ điều bắt buộc, tôi không chắc chắn như thế nào thực sự cần thiết đó là ... ví dụ, hầu hết thú trường hợp ngoại lệ là những người bạn sẽ không thường bao gồm (hoặc thậm chí mong đợi). Ví dụ, tôi hiện đang chiến đấu với những gì trông rất giống như một lỗi CLI trong CF35, liên tục nâng cao MethodMissingException từ mã thực sự tồn tại (nhấn mạnh: không liên tục).

Nếu bạn muốn ghi lại ngoại lệ của mình, hãy sử dụng đánh dấu ///<exception ... >...</exception>. Đối với những suy nghĩ khác về chủ đề này, có thể thấy Vexing Exceptions (Tôi tự hỏi nếu GhostDoc có thể giúp gì không?)

0

Get Exceptional trang web là một khả năng. Ý tưởng cơ bản là bạn tạo phần mềm và tất cả ngoại lệ được gửi đến trang web này đến tài khoản của bạn, nơi bạn có thể chọn chúng. Tất nhiên nó không đọc mã của bạn và xem những gì ngoại lệ là có.

Tôi không biết liệu có thư viện C# chưa nhưng API không quá khó.

Các vấn đề liên quan