Có một lớp ngoại lệ thích hợp cho các đối số dòng lệnh không hợp lệ trong API Java hay tôi có phải tạo của riêng mình không? Tôi đã cố gắng tìm kiếm một nhưng không thể tìm thấy bất kỳ trong API.Java Invalid Command Line Arguments Exception
Đây là nhiệm vụ vì vậy tôi không thể sử dụng thư viện của bên thứ ba để phân tích cú pháp dòng lệnh.
tôi đã xem xét sử dụng này, nhưng tôi nghĩ rằng RuntimeExceptions (trường hợp ngoại lệ được kiểm soát) có nghĩa vụ phải phản ánh một vấn đề mà các lập trình viên đã làm sai trong khi kiểm tra ngoại lệ sẽ được sử dụng cho những thứ ngoài tầm kiểm soát của lập trình viên . Hay điều này chỉ quan trọng khi thiết kế API? – Michael
Tôi có xu hướng sử dụng các ngoại lệ không được kiểm tra cho các tình huống mà chương trình của bạn không thể phục hồi khi chạy. Một đối số không hợp lệ được truyền cho một phương thức là một trường hợp như vậy, đó là lỗi của một lập trình viên. Ví dụ, khi bạn cố gắng khởi tạo một 'ArrayList' với công suất ban đầu * âm *, nó sẽ ném một' IllegalArgumentException'. Tại sao? Bởi vì nó không phải là nhận được rằng, và nó không thể làm việc với một năng lực tiêu cực; đó là lỗi của một lập trình viên. Đây là một liên kết thảo luận về vấn đề này http://www.javapractices.com/topic/TopicAction.do?Id=129. –
Ngoài ra, nếu bạn sử dụng ngoại lệ đã kiểm tra, mọi phương thức gọi điện của bạn cần phải nắm bắt ngoại lệ này. Imho, điều này hơi kỳ quặc, bởi vì về cơ bản bạn thừa nhận rằng bạn có thể có lỗi trong mã của bạn mà làm cho nó vượt qua * không hợp lệ * giá trị/đối số cho phương pháp khác. Và khi điều này xảy ra, không có gì bạn có thể làm về nó, nhưng sửa chữa * lỗi * gây ra điều này. –