当前位置: 首页 > article >正文

checked 溢出问题

在这里插入图片描述

 {
     try
     {
         int i = int.MaxValue;
         int j;
         checked
         {
             j = i + 1;
         }
        
     }
     catch (OverflowException er)
     {

         Console.WriteLine($"加Checked——>{er.Message}");
     }
     
 }
 {
     try
     {
         int i = int.MaxValue;
         int j;
         j = i + 1;
     }
     catch (OverflowException  er)
     {

         Console.WriteLine($"没有加Checked——>{er.Message}");
     }
     

    
 }
  • 溢出检查:在 checked 关键字包围的代码块中,如果发生整数溢出,编译器会抛出 OverflowException 异常。

  • 默认行为:在 C# 中,默认情况下,整数运算不会检查溢出,如果发生溢出,结果会被截断,而不是抛出异常。

所以即使发生溢出,也不会抛出异常。结果是 i + 1 被截断为 int 类型的最小值,因为整数溢出是环绕的。
在这里插入图片描述


http://www.kler.cn/a/465251.html

相关文章:

  • Javascript-web API-day04
  • canvas+fabric实现时间刻度尺(一)
  • 渗透Vulnhub-tr0ll靶机
  • 【开源社区openEuler实践】compass-ci
  • v-model响应式数据失效(能打印出来,但不渲染响应新数据)出现在异步操作或动态添加属性时赋值,使用 this.$set:
  • 比亚迪30亿教育慈善基金正式启动,助推中国科教进步
  • Go 如何优雅退出进程
  • mysql之组内排序ROW_NUMBER()函数
  • Agent系列:AppAgent v2-屏幕智能Agent(详解版)
  • Ajax数据爬取
  • 定制级安全重保方案,确保重大活动期间的网络安全无忧
  • Tailwind CSS:现代 CSS 框架的优雅之选
  • redis的集群模式与ELK基础
  • STM32传感器系列:GPS定位模块
  • 活动预告 |【Part1】Microsoft Azure 在线技术公开课:使用 Azure DevOps 和 GitHub 加速开发
  • spring中使用@Validated,什么是JSR 303数据校验,spring boot中怎么使用数据校验
  • 【行空板K10】MQTT服务器SIoT V2
  • LeetCode - 初级算法 数组(旋转数组)
  • Vue.js组件开发-如何动态设置下拉框数值
  • 使用Python和OpenCV进行视觉图像分割