Bạn có thể sử dụng các bước sau để kích hoạt Arithmetic Overflow/underflow kiểm tra trong Visual Studio:
- Nhấp chuột phải vào dự án của bạn trong Solution Explorer và chọn Properties.
- Trên tab Xây dựng, hãy nhấp vào nút Nâng cao. (Hướng về phía dưới cùng)
- Chọn hộp kiểm "Kiểm tra tràn/số học tràn".
này sẽ ném một System.OverflowException
khi tràn xảy ra chứ không phải là nó hoạt động bình thường của việc thay đổi giá trị cho một giá trị tối thiểu.
Nếu không có số học Overflow/underflow được kích hoạt:
int test = int.MaxValue;
test++;
//Test should now be equal to -2,147,483,648 (int.MinValue)
Với Arithmetic Overflow/underflow được kích hoạt:
int test = int.MaxValue;
test++;
//System.OverflowException thrown
Sử dụng một khối kiểm tra:
checked
{
int test = int.MaxValue;
test++;
//System.OverflowException thrown
}
Tài liệu để kiểm tra có sẵn here. (Nhờ Sasha đã nhắc tôi về nó.)
Nguồn
2011-02-02 18:52:59
Bạn cũng có thể sử dụng từ khóa 'đã kiểm tra' để bọc một câu lệnh hoặc một bộ câu lệnh để chúng được kiểm tra rõ ràng về tràn số học. Việc thiết lập thuộc tính toàn dự án là một chút rủi ro vì thỉnh thoảng tràn là một kỳ vọng khá hợp lý. –
Lưu ý rằng tùy chọn trình biên dịch này chỉ áp dụng khi không có ngữ cảnh 'checked' hoặc' unchecked' rõ ràng trong mã. Ngoài ra, nó sẽ ảnh hưởng đến kết quả thực thi, không chỉ gỡ lỗi trong Visual Studio. Xem tại đây để biết tài liệu: http://msdn.microsoft.com/en-us/library/h25wtyxf%28v=VS.100%29.aspx – Justin
@Rionmonster và @Sasha - Tôi không biết về bất kỳ chức năng nào trong số hai chức năng đó . Cảm ơn cả hai nha. –