关于使用ICursor遇到的逻辑异常

(1)使用IDatastatistics接口统计Sum,出现了如下异常:值都比实际值小,且如果只有一个统计到的要素,值为0

原因:统计前,用ICursor.NextFeature()方法判断是否为null,如果为null,则不执行下面的统计操作。使用该方法时,导致要素游标移动至下一个要素。将该游标赋值给统计对象时,即少统计了一个

而统计个数用的是IFeatureClass.FeatureCount方法,所以,个数与统计的结果一致。

(2)使用使用IDatastatistics接口统计两个字段的,重新实例化了两次,都赋值了一个ICursor对象。第二个字段值统计为0.

原因,ICursor查询到最后的一个要素,无法继续查询。重新查询一次再赋值即可解决问题

时间: 2024-12-09 19:31:05

关于使用ICursor遇到的逻辑异常的相关文章

SPL异常类之 LogicException 逻辑异常

SPL 提供了一系列标准异常.LogicException 是从 Exception 基类派生的,没有添加任何附加方法.抛出逻辑异常和抛出标准一次的方法类似,区别在于逻辑异常须在应用程序编写有误时才抛出. logicexception异常: 异常表示程序逻辑错误.这种异常应在代码中直接导致修复.

SpringBoot 逻辑异常统一处理

构建项目 我们将逻辑异常核心处理部分提取出来作为单独的jar供其他模块引用,创建项目在parent项目pom.xml添加公共使用的依赖,配置内容如下所示: <dependencies> <!--Lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true<

java中异常处理机制 throw抛出自定义业务逻辑异常 throws继续抛出 catch捕获后会自动继续抛向调用方法

package com.swift; public class Exception_TestC { public static void main(String[] args) { /* * 第5题: 有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个 * 方法a,请在这个方法中调用b,然后抛出异常.在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕 捉异常的信息.Java异常的处理机制 * * 如果try或cat

关于线程池运行过程中,业务逻辑出现未知异常导致线程中断问题反思

最近在项目研发中的关于线程池应用过程中由于业务逻辑异常导致的线程中断,但程序未中断导致的脏数据问题  话不多说,在最近最新的一个版本发布过程中,业务需要,我们要定期去给客户预留出可用的资源数据,提供客户使用,在版本即将上线前一周测试过程中,遇到的预留资源数据跟实际数据不匹配,刚开始反复检查代码,通过日志调试一直无果,经过不懈努力,最终终于发现是由于线程在跑业务时,抛出未知异常,当前线程中断,然而主程序并未异常,导致最终响应的数据与实际不符.下面我就简答举例说明下这个问题 1.获取资源数据demo

Atitit.异常的设计原理与&#160;策略处理&#160;java&#160;最佳实践&#160;p93

Atitit.异常的设计原理与 策略处理 java 最佳实践 p93 1 异常方面的使用准则,答案是::2 1.1 普通项目优先使用异常取代返回值,如果开发类库方面的项目,最好异常机制与返回值都提供,由调用者决定使用哪种方式..2 1.2 优先把异常抛出到上层处理..异常本身就是为了方便把异常情况抛出到上层处理..2 1.3 对于 HYPERLINK \l _Toc6222 方法调用结果异常情况返回策略,最终会有四种策略状况,2 1.4 返回null  还是异常??2 2 异常的由来与设计3 2

WCF客户端获取服务端异常[自定义异常]

引言 经过不断的摸索,询问/调试,终于学会了关于WCF客户端与服务端之间异常的处理机制,在此来记录自己的成果,用于记录与分享给需要的伙伴们. 首先感谢[.NET技术群]里群主[轩]的大力帮助,如有需要大家也请欢迎加入[.NET技术群](群号:199281001),一起讨论交流.NET技术(ASP.NET MVC4.MVC5/C#/WPF/WCF),但愿大家在技术上有更多的成就,废话不多说,直接开始分享. 关于WCF服务端的原生抛出异常,我就不多说了,相信大家找到这篇博文的时候,已经尝试过诸多方法

Java 之 异常的处理

Java 异常处理的五个关键字:try.catch.finally.throw.throws 一.抛出异常 throw 在编写程序时,我们必须要考虑程序出现问题的情况.比如,在定义方法时,方法需要接受参数.那么,当调用方法使用接受到的参数时,首先需要先对参数数据进行合法的判断,数据若不合法,就应该告诉调用者,传递合法的数据进来.这时需要使用抛出异常的方式来告诉调用者 . 在java中,提供了一个throw关键字,它用来抛出一个指定的异常对象. 实现步骤: 1.创建一个异常对象.封装一些提示信息(

exception(异常)

throw关键字    作用:        可以使用throw关键字在指定的方法中抛出指定的异常    使用格式:        throw new xxxException("异常产生的原因");    注意:        1.throw关键字必须写在方法的内部        2.throw关键字后边new的对象必须是Exception或者Exception的子类对象        3.throw关键字抛出指定的异常对象,我们就必须处理这个异常对象            thro

【java基础之异常】死了都要try

目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常throws 2.4 捕获异常try…catch 2.4 finally 代码块 2.5 finally 代码块与return语句 2.6 异常注意事项 3.自定义异常 3.1 概述 3.2 自定义异常练习 4.来!和异常大干一场 @ 1.异常 1.1 异常概念 异常 :简单说就是不正常运行,最终导致JVM