Tôi đã viết một ứng dụng nhỏ sử dụng boost :: program_options để phân tích cú pháp dòng lệnh. Tôi muốn có một số tùy chọn đặt giá trị nếu đối số có mặt, và luân phiên in giá trị hiện tại nếu tham số được đưa ra nhưng không có đối số. Vì vậy, "thiết lập chế độ" sẽ như thế nào:Tham số có và không có đối số trong tăng :: program_options
dc-ctl --brightness 15
và "có được chế độ" sẽ là:
dc-ctl --brightness
brightness=15
Vấn đề là, tôi không biết làm thế nào để xử lý các trường hợp thứ hai mà không đánh bắt này ngoại lệ:
error: required parameter is missing in 'brightness'
Có cách nào dễ dàng để tránh việc xảy ra lỗi đó không? Nó xảy ra ngay sau khi các đối số được phân tích cú pháp.