编程常见问题分析

作为程序员,如果哪一天没有了错误或警告的提示,一定会有一种不祥的预感吧,自从开始编程以来,碰到过很多问题,在遇到错误的时候不要慌,首先看报错,中文直接看,英文翻译看。根据报错找到错误发生的行数,一般错误就在这一行的上下几行代码。


文章目录

  • 编程常见问题分析
  • 编程常见三种错误
    • 1.语法错误
      • 成因分析:
      • 常见错误:
    • 2.逻辑错误
      • 成因分析:
      • 常见错误:
    • 3.系统(编译)错误
      • 成因分析:
      • 常见错误:
      • 想要解决CS1922号错误,你需要找出错误地使用集合对象初始化表达式的代码段。双击Console里的错误,将会把你带到引起该错误的那一行代码上。
      • 想解决CS0266错误,要么将double值转型为float,要么干脆使用float代替double。
      • 通过添加“f”后缀到小数的末尾,就能解决CS0664错误。
      • 在“=”赋值运算符左侧添加变量、属性或者索引器就可以解决CS0131号错误。
      • CS0120错误可以通过创建一个实例来引用这个非静态变量来解决(可以通过创建一个实例来引用这个非静态方法来解决)

提示:以下是本篇文章正文内容,下面案例可供参考

编程常见三种错误

1.语法错误

概念:是指程序中含有不符合语法规定的语句

成因分析:
  1. 编程语言基础语法掌握不熟练
  2. 编写代码时急于求成,不细心
  3. 对某些知识点没有了解透彻,不知道怎么使用
常见错误:
  1. 引号、逗号、分号错误(中文英文逗号、引号等是不同的,注意切换输入法)
  2. 变量未定义(这个不用多说了吧,一写就明了的…)
  3. 变量赋值、运算时显示类型不匹配(如:int a=6;float b=3.14;当使a=b时,会显示类型不兼容,会导致数据丢失。)
  4. 循环条件判断后面是跟着{大括号},不要加上分号,否则循环不完整起不到作用。这种错误也是编程小白会出现的错误。
for(int i=0;i++;i<100){Console.Write(i);};
  1. 函数参数不匹配(了解函数的作用,需要传什么参数,对照形参传实参)。
  2. 头文件未包含(有时候你在别处看见一个函数,你自己拿来用,发现此函数竟然未定义,你要知道此函数在哪个头文件里面,或者是否是自己定义的)。

2.逻辑错误

概念:是指程序中没有语法错误,可以通过编译、连接生成可执行程序, 但程序运行的结果与预期不相符的错误。

成因分析:
  1. 和语法错误一样,就是不细心
    比如你想判断一个人的名字是不是叫nanyu,但编写程序时却少写了一个n,变成了nayu,在运行时就会发生逻辑错误。
  2. 对于内存不够了解,指针运用不娴熟。
常见错误:
  1. 进行if判断时使用了赋值运算符=,而不是逻辑运算符==(if(a=b)和if(a==b)是完全不同的,相信大家都遇到过)。
  2. 这个是最让人头疼的错误,运行一下代码,好,没问题!随着你的输入等操作,接着弹出一个窗口,大致意思是访问冲突,然后看着代码一脸懵。这个问题错误也有好多:
    (1). 数组越界访问或者越界存数据
    (2). 指针指向了没有权限访问的内存
    (3). 数据转换时数据溢出
  3. 一元运算符 – 和 *的优先级相同,注意使用括号
  4. 在主函数的内部,定义局部变量一定要放在任何函数或语句执行之前,否则肯定报错。

一定要细心细心再细心


3.系统(编译)错误

概念:是指程序没有语法错误和逻辑错误,但程序的正常运行依赖于某 些外部条件的存在,如果这些外部条件缺失,则程序将不能运行。

成因分析:
  1. 外部依赖项路径不正确
  2. 外部依赖项不存在
  3. 路径错误,使用某些函数时找不到此函数
常见错误:
  1. CS1061错误:当你尝试调用一个不存的方法或者访问一个不存的成员时(或者是与关键字冲突),就会引发CS1061号错误。
error CS1061: Type `__’ does not contain a definition for `__’ and no extension method `__’ of type `__’ could be found (are you missing a using directive or an assembly reference?)
  1. CS1526错误:出现CS1526错误的原因是new运算符用法不正确。
error CS1526: A new expression requires () or [] after type
  1. CS0619错误:当一个类型成员使用Obsolete属性标记时(当该实体再也不建议使用时)会发生这样的状况,所以引用这样子的成员时会形成错误。
error CS0619: `__’ is obsolete: `__ is not supported any more. Use __’
  1. CS1922错误:当错误地使用集合对象初始化表达式时就会引发CS1922号错误。集合对象初始化表达式可以被用作在同一行里初始化多个变量或者一次性给数组赋予多个初值的便捷方式。
error CS1922: A field or property `__’ cannot be initialized with a collection object initializer because type `__’ does not implement `__’ interface

解决方案:

想要解决CS1922号错误,你需要找出错误地使用集合对象初始化表达式的代码段。双击Console里的错误,将会把你带到引起该错误的那一行代码上。
  1. CS0266错误:当尝试把一个double类型的值赋给一个float变量时,会引起CS0266号错误。
error CS0266: Cannot implicitly convert type double’ to float’. An explicit conversion exists (are you missing a cast?)

解决方案:

想解决CS0266错误,要么将double值转型为float,要么干脆使用float代替double。
  1. CS0664错误:当声明一个float变量时,输入一个含有小数的数但却并不含“f”后缀时,将会引发CS0664号错误。
error CS0664: Literal of type double cannot be implicitly converted to type `float’. Add suffix `f’ to create a literal of this type

解决方案:

通过添加“f”后缀到小数的末尾,就能解决CS0664错误。
  1. CS1031错误:引起CS0131号错误的原因是,“=”赋值运算符的左侧不是一个变量、不是一个属性、不是一个索引器。
error CS0131: The left-hand side of an assignment must be a variable, a property or an indexer

解决方案:

在“=”赋值运算符左侧添加变量、属性或者索引器就可以解决CS0131号错误。
  1. CS0120错误:在一个静态的方法里尝试直接引用一个非静态的变量时会发生该错误。(在一个静态的方法里调用另一个非静态的方法时会发生该错误。)
error CS0120: An object reference is required to access non-static member `__’

解决方案:

CS0120错误可以通过创建一个实例来引用这个非静态变量来解决(可以通过创建一个实例来引用这个非静态方法来解决)

常见编程错误及解决方法,避免踩雷相关推荐

  1. 邮箱发送材料服务器连接错误,发送邮件常见的错误和解决方法

    原标题:发送邮件常见的错误和解决方法 错误1 550 Mail content denied 这种是内容的问题,用户加服务器IP白名单就可以了. 错误2 550 Connection denied 出 ...

  2. 安装常见的错误及解决方法(记录)

    博文出处:http://blog.csdn.net/tyxkzzf/article/details/47285401 adb的安装过程分为传输与安装两步. 在出错后,adb会报告错误信息,但是信息可能 ...

  3. 邮箱服务器错误550,发送邮件常见的错误和解决方法

    原标题:发送邮件常见的错误和解决方法 错误1 550 Mail content denied 这种是内容的问题,用户加服务器IP白名单就可以了. 错误2 550 Connection denied 出 ...

  4. MATLAB中CVX工具箱解决凸优化问题的基本知识——语法、变量声明、目标函数、约束条件、cvx编程错误及解决方法

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.语法 二.变量声明 三.目标函数 四.约束条件 五.函数 六.cvx特有的数学运算表达式 七.常见错误 八.进阶阅 ...

  5. Nginx常见的错误及解决方法

    1.Nginx 常见启动错误 有的时候初次安装nginx的时候会报这样的错误 sbin/nginx -c conf/nginx.conf 报错内容:sbin/nginx: error while lo ...

  6. SqlServer 内存篇(五)—— 常见内存错误与解决方法

    内存错误与内存瓶颈不同,当出现内存错误时,轻则某些特殊操作不能完成,重则整个sqlserver无响应,对sqlserver影响通常很大. sqlserver常见的内存错误主要有以下三种: 701 -- ...

  7. ae表达式修复_AE中常见表达式错误修改解决方法

    在运用他人AE工程文件的过程中,会遇到表达式错误和素材丢失的情况素材丢失好解决–用自己的素材进行替换即可,不赘述. 表达式错误如何修改? 打开文件经常出现这样的提示: 产生原因: 当前使用的软件版本大 ...

  8. nginx常见502错误的解决方法

    Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少. 针对这种情况的502错误,只需增加php-cgi的进程数.具体就是修改/usr/local/php/etc/php-fp ...

  9. setupsql安装程序初始化错误_ArcMap中常见的错误及解决方法

    原创 ArcGis摸索者 Gis技术分享 今天分享的绝对是干货哟,内容很长,请大家耐心观看!(这也是小编今天放假啦,耐心的给大家整理了这份资料,内容绝对好看也实用!) 小编在项目里面使用Arcgis处 ...

最新文章

  1. C# Winform 启动和停止进程
  2. 国外开源网站网页翻译
  3. C# 程序运行耗时测试类
  4. 实战小课 | 深入剖析 「事件设计方法与规范」,夯实数据分析基础!
  5. 湖南2021普通高考专业成绩查询,2021年湖南高考成绩查询时间 高考成绩查询入口...
  6. iostream stdlib fstream io.h 头文件的作用
  7. VB 源码 产生任意数之间随机数,支持负数
  8. java rxtx 64_win7 64为下使用rxtx串口通信
  9. EXSi虚拟机缺少vmdk文件报错问题
  10. 【埋点体系】(一)-埋点的理解
  11. php 公众号管理系统源码,SmartWx微信公众号管理系统 v2.0
  12. 原生js获取元素非行内样式属性的方法
  13. 素材网下载图片要 VIP ? 不存在的
  14. 【文智背后的奥秘】系列篇——自动文本分类
  15. 小小的Toast蕴含大道理(解决关闭通知时原生Toast不显示问题)
  16. 【C++ Primer Plus】第4章 复合类型
  17. L. Spicy Restaurant
  18. Android 10 设置壁纸流程
  19. 【Three.js入门】纹理加载进度、环境贴图、经纬线映射贴图与高动态范围成像HDR
  20. 即时通讯应用开发之网络心跳包机制

热门文章

  1. 产生分类中的双月问题的数据集
  2. python列表按照字母排序_Python:按字母顺序对列表进行排序/分组
  3. Python之Sqlitespy中选出两表中以id相同的元素
  4. PHP MYSQLi 过程式准备好语句
  5. window10使用bat脚本配置ip和dns
  6. 07-小蜜蜂单片机中断系统
  7. 喜欢听音乐的小伙伴看过来
  8. centos 虚拟机输入大小写混乱问题
  9. ipv6头部格式 c语言,2.2.1 IPv6和IPv4基本头部格式
  10. 程序化模型失效是策略模型的必然结局吗?