1. 首页
  2. 全部文档
  3. 无代码开发手册
  4. 从需求出发的开发(18节)
  5. 常见报错信息

常见报错信息

开发过程中常见的问题

开发过程中的验证问题在问题描述中都有说明,根据这个说明可以进行修改处理

传值处理前后不一致 Inconsistent Flow

  • 问题描述:来源对象是单数/复数而传入的对象是复数/单数(The source is repetitive while the flow tartget is non-repetitive)
  • 处理方式
    • 可以单击退验证信息行任意位置,都会将问题所在的开发区内容独立显示
    • 必须按实际业务逻辑对应查看,确认是源文件错用为复数或单数还是传入对象错用了,比如查询数据库记录不论怎么传,都应是复数;而且一个复数对象传入一个灰色三解形输出元件,则输出元件一定也应是复数
    • 将错用的对象选中,英文输入法下快捷键“r”可以修改元件的单复数状态

传值处理前后不一致 Invalid Flow

  • 问题描述:来源对象和传入的对象数据类型不一致(The source and target datatypes are not compatible)
  • 处理方式
    • 可以单击退验证信息行任意位置,都会将问题所在的开发区内容独立显示
    • 开发中传值是合乎实际逻辑的,比如不可以将一个数字传给一个图片,让显示图片的元件来显示数字,这样操作就是不合逻辑;计算机无法处理混乱的逻辑;此时应查看前一元件的数据类型,一般对象都是可视化的,所以不会出错,但是输出元件都是灰色三角形,其类型可以是一个数据库表,也可以是一个数字类型,还有可能是空值如“”名称的输出元件就是空值类型的空值输出,这个类型是否是空值还是数字或其他对象,可以用打开重命名窗口(快捷键F2)查看类型或对象的名称来确认
    • 重新传值,或使用正确的来源或传入对象,由逻辑来定义
  • 以下为一个学员开发的报错示例:将数据库查询的记录会部传给一个空值输出,由空值再向下传值为记录对象时,空值和库表记录类型冲突;但是如是只是传入空值输出,不再使用记录,逻辑是正确的,因为空值输出说明查询完成且有记录产生,是有意义的逻辑

缺少元件 Missing Element

  • 问题描述:没有元件或对象(No Instance of “Date and Time” which appears in the prototype with multiplicity)
  • 处理方式
    • 可以单击退验证信息行任意位置,都会将问题所在的开发区内容独立显示
    • 组合类的元件是由其他更多元件组合设计而成的,默认模型中有各类元件,但是我们可以删除不需要元件,可以添加需要的元件;报错只是因为和默认的模型不一样,这类问题可以忽略
    • 单击选中验证区中问题行,直接点击验证区右上角的“Ignore selected warnings”按钮忽略报错处理(按钮为带叉号的眼镜)

不能放此标签的元件 Invalid Tag

  • 问题描述:某个标签的元件下只能有规定的标签元件,新加的元件的HTML标签默认定义不正确(cannot contain)
  • 处理方式
    • 可以单击退验证信息行任意位置,都会将问题所在的开发区内容独立显示
    • 如果是一个表格,设定最外层元件的HTML标签属性就一定是table,而其中只能放thead和tbody标签的元件为表头和表体,表头和表体中只能先中tr,其中再是td单元格对象,这个是浏览器显示信息的HTML语言规范定义的,如果不符合浏览器规范,就报错;这个问题只在复杂表格中会出现
    • 单击选中标签类型不对的元件修改html.tag属性为“td”就可以

运行时操作使用的报错

如果开发中验证没有问题,使用过程中的报错大部分是数据库相关的

查询语句设计有问题 …SQL…

  • 问题描述:多样,上图中是未知的字段“riqia”,输入时手误写错名称
  • 处理方式
    • 这个弹窗中的信息很重要如果有“…SQL…”字符,那么就得查弹窗中所提示的逻辑所在位置的SQL条件等是否正确输入,需仔细检查,常见的有查询条件中字段名称不对、条件中日期、数字、字符常量输入方式不下确等原因,注意一般日期直接传入查询元件,条件语句正常都是一个字符串,所以传入日期进入查询条件那么日期就成为字符串值,出现报错,数字可以直接写入条件中,字符需用单引号括入
    • 单击选中标签类型不对的元件修改html.tag属性为“td”就可以

用户输入有问题 …SQL…

  • 问题描述:…Duplicate Key
  • 处理方式
    • 这个弹窗中的信息说的比较明确,是因为用户输入的信息中,对应主键的内容在数据库中已有,所以不能插入同样主键值的记录而报错
    • 这类问题一般在设计开始就需要预料到,在设计时,为插入元件添加一个“<Duplicate>”名称的子元件的输出元件,为其添加一个信息弹窗,说明已有此名称的记录(如名称字段为主键)不再进一步处理、或是提前说明如果有重复记录,则更新已有记录(添加一个更新记录元件,将“<Duplicate>”元件连线传值至更新记录元件的输入元件即可)