Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >属性导致Stackoverflow异常

属性导致Stackoverflow异常
EN

Stack Overflow用户
提问于 2010-11-17 16:02:10
回答 3查看 3.6K关注 0票数 0

我有一个User类,它有一个名为Creator的属性,其类型为User (创建此用户的用户)

代码语言:javascript
运行
AI代码解释
复制
public class User {

    public User()
    {
        UserName = "";
        EmailAddress = "";
    }

    public String UserName { get; set; }
    public String EmailAddress { get; set; }
    //bunch of other properties

    public User Creator { get; set; }
}

我在行UserName = "";上得到一个Stackoverflow异常。我假设这是因为Creator属性陷入了一个大循环。如果我没有将Creator设置为新用户,为什么会发生这种情况?有没有办法阻止这件事的发生?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-17 16:24:41

我的猜测是,你正在以某种方式初始化创建者,这会导致创建无限数量的用户,从而导致StackoverflowException。

这里有一个例子,就是这样的:

代码语言:javascript
运行
AI代码解释
复制
public List<User> CreatUsers()
{
    List<User> users = new List<User>;

    //Some DB call to get a list of users
    foreach (var record in userlist)
        List.Add(CreatUser(record));
}

public User CreateUser(?? record)
{
    User user = new User();
    //Set properties
    if (record has creator) //pseudo-code
        user.Creator = CreatUser(record.Creator); //guessing as to record.Creator
}

public class User
{
    public User()
    {
        UserName = "";          //Stackoverflow on this line.
        EmailAddress = "";
    }

    public String UserName { get; set; }
    public String EmailAddress { get; set; }

    public User Creator { get; set; }
}
//{Cannot evaluate expression because the current thread is in a stack overflow state.}

实际上,我不知道如何修复它,因为它太难猜测他的所有代码,哈哈。

票数 2
EN

Stack Overflow用户

发布于 2010-11-17 16:10:39

我敢打赌你的UserName设置器是这样的

代码语言:javascript
运行
AI代码解释
复制
public string UserName
{
    get { return UserName; }
    set { UserName = value; }
}

这导致了无限递归。您需要像您拥有的Creator属性那样设计它,或者这样做

代码语言:javascript
运行
AI代码解释
复制
private string _UserName;
public string UserName
{
    get { return _UserName; }
    set { _UserName = value; }
}

编辑:

我怀疑Creator属性与这个问题有任何关系,因为该值在构造函数中只会是null

票数 3
EN

Stack Overflow用户

发布于 2010-11-17 16:22:58

我有一个用户,创建者就是它自己。我猜这是一个数据问题,而不是代码问题。不管怎样,谢谢你看这篇文章。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4206368

复制
相关文章
异常dockgeddon导致 cpu 100%
3,查看容器监控确定是哪个容器产生了问题(因为我这个机器上就运行了 docker)
张琳兮
2021/04/26
9530
异常dockgeddon导致 cpu 100%
DNS转发导致CDN调度异常
当我们需要访问www.baidu.com这个站点时,我们就会在浏览器地址栏中输入http://www.baidu.com这样一个url。实际上我们想要浏览的网页内容都存放在互联网的某台服务器上,而 DNS 的任务就是找到我们想要访问的这台服务器的 IP 地址,然后向它请求内容。 DNS 地址解析是在 HTTP 连接建立之前的一个过程。 本地 DNS 服务器得到浏览器的域名解析请求后,会采用递归查询方式或者迭代查询方式向 DNS 系统中的其他远程域名服务器提出查询要求。
mengmye
2021/07/06
6.9K1
citrix可能导致远程异常
①远程看到锁屏图像了,但进不去桌面,类似https://discussions.citrix.com/topic/386744-key-icon-displayed-when-logging-into-xendesktop/
Windows技术交流
2022/03/28
8520
调试 StackOverflow 错误
当执行堆栈溢出时,会引发 StackOverflowException,因为它包含太多的嵌套方法调用。
呆呆
2022/01/09
6920
主线程异常会导致 JVM 退出?
上周线程崩溃为什么不会导致 JVM 崩溃在其他平台发出后,有一位小伙伴留言说有个地方不严谨
kunge
2022/09/02
1.4K0
主线程异常会导致 JVM 退出?
更改默认DNS导致内网域名解析异常,继而导致内网服务异常,如何解决?
更改默认DNS后,激活等内网域名相关的服务比如云监控、云镜、ntp、update 等通过加hosts方式实现
Windows技术交流
2021/09/17
7.9K0
NFS服务挂掉导致的Nginx异常
事故现象: 下午14.52分,企业微信出现如下所示zabbix报错,显示ERP访问失败
说实话有点小帅
2020/10/21
1.4K0
关于RecyclerView嵌套导致item复用异常,界面异常的问题
外层RecyclerView嵌套内层RecyclerView , 在上下滑动的时候会出现item数据以及view的显示异常。
听着music睡
2019/03/20
5.4K0
康熙部首导致的字典查询异常
可以看到,这两个字符串都是4个汉字,说明没有零宽字符。那么为什么他们不一样呢?那我们看一下每个文字的 Unicode 码:
青南
2020/05/25
8900
康熙部首导致的字典查询异常
wordpress页面异常导致本地路径泄漏
之前用360检测到如下错误,类似的出现过好几次了,暂且记录下来,路径用的其他地方的,但问题及解决办法是一样的。
WindCoder
2018/09/19
9760
wordpress页面异常导致本地路径泄漏
byte[]做缓存key导致JVM异常
查看日志,发现读取Hbase时发生了OutOfMemory现象。 首先获取JVM的进程号,为16796 jstat -gcutil 16796 发现频繁的发生full gc,显然full gc没有将内存清理掉
jiewuyou
2022/09/29
5820
byte[]做缓存key导致JVM异常
Java陷阱之:finally块抛出异常或return导致异常丢失
java中finally语句包含有抛出异常或者return语句,会把try块中出现的异常丢弃。
崔认知
2023/06/19
9040
Java陷阱之:finally块抛出异常或return导致异常丢失
alias导致virtualenv异常的分析和解法
virtualenv 可以虚拟出一个独立的Python环境,在这个环境中安装的第三方库不会对系统中的Python产生影响。作为一个系统洁癖,我的系统中的Python环境只安装最主要的第三方库,我在开发Python项目的时候一般使用virtualenv生成的独立环境来安装项目需要的第三方库。但是如果同时使用了zsh的alias 和virtualenv,有可能就会导致virtualenv下面的python不能使用第三方库。
青南
2019/01/09
6260
Flanneld续租IP异常导致网络问题分析
业务反馈有部署集群的节点上的pod无法做域名解析。pod到coredns pod网络不通。登录到节点查看日志发现flannel有如下报错:
我是阳明
2021/06/25
1.7K0
Flanneld续租IP异常导致网络问题分析
关于npm镜像迁移导致的服务异常
1、本地启动vue项,进行构建项目时,报错如下 npm ERR! code E400 npm ERR! 400 Bad Request - GET https://registry.npm.taobao.org/n npm ERR! A complete log of this run can be found in: 更换npm镜像后仍然失效,本地网络问题排除 2、更换cnpm镜像 在vue的package.json同级目录下新建文件为.npmrc vi ~/.npmrc registry=http
疯狂的KK
2021/12/29
1.8K0
关于npm镜像迁移导致的服务异常
负载均衡策略导致后端程序访问异常
  最近新部署了openshift集群,由于使用了自签证书,浏览器访问集群的https服务会报告警(如下图),在使用浏览器(特别是IE)访问openshift master暴露的服务时,选择继续访问时,出现了尝试很多次才能登陆成功的情况。
charlieroro
2020/03/24
1.1K0
负载均衡策略导致后端程序访问异常
docker网段冲突导致主机网络异常处理
最近公司服务器网络出现了问题,现象就是有台主机不能访问某个网段的机器,无法ping通。原因是在启动docker容器的时候突然断开连接,然后就连接不上了。服务器网段是100.10.x.x,被访问机器是172.17.x.x。
星星在线
2023/03/20
2.8K0
docker网段冲突导致主机网络异常处理
HOSTS配置问题导致集群异常故障分析
CM节点上的所有服务的角色日志不能正常通过ClouderaManager控制台查看,显示如下错误:
Fayson
2018/03/29
3.2K0
HOSTS配置问题导致集群异常故障分析
WPF dotnet 6 开启 PM v2 的 DPI 感知 导致触摸线程访问 UI 属性抛异常
本文记录一个 WPF 在 dotnet 6 的一个已知问题,且此问题我已修复提交给官方仓库。这是一个只有在 dotnet 6 框架下,非 dotnet 5 也非 .NET Core 3.1 也非 .NET Framework 的问题,要求开启 DPI 感觉等级为 PerMonitorV2 的特性,在带触摸屏上的应用,应用运行过程中,切换屏幕的 DPI 之后,触摸过程有概率触发在触摸线程访问 UI 的依赖属性,在触摸线程抛出异常炸掉应用
林德熙
2022/08/12
6670
异常:List-style-type属性失效
异常处理汇总 ~ 修正果带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4599258.html 看重点: 根本原因:padding: 0 0 0 0px;
逸鹏
2018/04/09
7740
异常:List-style-type属性失效

相似问题

为什么这个属性会导致StackOverFlow异常?

24

DialogWindow导致StackOverflow异常

20

CyclicReferencesAware属性- StackOverflow异常

13

递归方法调用导致StackOverflow异常

10

C# -属性导致StackOverflow

95
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档