问题标签 [outofrangeexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
65284 浏览

c++ - C++ 向量::_M_range_check 错误?

这是我的功能:

我传入的 fn 的值只是一个文本文件的名称 ('10a.txt') 我传入的文件的值声明如下:

我没有定义大小的原因是因为我认为我不必使用向量,它们是动态的......不是吗?

该函数应该读取给定的文本文件并将每行的全部内容存储到单个矢量单元格中。

前任。将第一行的内容存储到 file.at(0) 将第二行的内容存储到 file.at(1) 以此类推,直到文本文件中没有更多行。

错误:

在抛出 'std::out_of_range' what(): vector::_M_range_check 的实例后调用终止

我认为while循环中的检查应该可以防止这个错误!

在此先感谢您的帮助。

0 投票
1 回答
741 浏览

c# - MySql 不接受浮点列中的 C# float.MinValue

我有一个利用 NHibernate 处理数据库功能的应用程序。现在我有一个表,其中有一列映射为浮点数。NHibernate 在 MySql 数据库中创建了表,我也验证了该列是“FLOAT”。注意:列中没有定义 FLOAT(M<,D) 精度,它只是“FLOAT”。

部分SQL建表语句:

现在,例如,当我尝试插入具有值为 5.46 的浮点属性的域模型 (POCO) 时,一切顺利,因此域模型已正确映射并且正在工作。

但是,当我尝试插入属性设置float.MinValue为 3.40282347E+38 的域模型时,我收到以下错误:

我认为这可能与以下内容有关。这是 Visual Studio 中即时窗口的输入(用 ? 标记)和输出:

第一个值被 MySQL 接受,后者不接受!!

我该如何解决这个问题?实际上这不会是一个问题,但从理论上讲,让数据库浮点列不接受来自存储数据的应用程序的所有可能的浮点值并不是很好。

0 投票
3 回答
2498 浏览

java - Java - For循环在用户输入字符串的字符之间插入星号

我正在做一个包含几个单独部分的课堂作业,除了这个之外,我都完成了。我需要从用户那里获取字符串输入并创建一个循环(最好是 for 循环),在每个字符之间插入星号。我完全被这个难住了,所以如果有人能给我一些帮助来开始它,我将不胜感激。

到目前为止我已经想出了这个

它编译得很好,但是当我测试它并输入一些文本时,它在线程“main”java.lang.StringIndexOutOfBoundsException中出现异常:字符串索引超出范围:5

0 投票
3 回答
698 浏览

c# - 用图像洗牌

我试图随机化一个列表,然后把它放到一个图片框中。当我这样做时,我收到错误消息“索引超出范围。必须是非负数并且小于集合的大小”

这是随机的代码:

这是调用该方法的代码

0 投票
2 回答
25742 浏览

c++ - 在向量的向量上捕获 out_of_range

我有一个向量向量来建立一个整数映射,并且我很想在抛出向量时捕获超出范围的错误,方法是执行以下操作:

但是,我的代码似乎根本没有发现错误。它似乎仍然想运行 std::terminate。有谁知道这是怎么回事?

0 投票
1 回答
791 浏览

c# - 在 C# 中初始化锯齿状数组会导致索引超出范围异常

出于某种原因,上面的代码给了我超出范围的异常,但以下工作正常:

谁能指出我做错了什么?

另外:超出范围和超出范围的异常有区别吗?

0 投票
0 回答
271 浏览

string - 调试断言失败:字符串下标超出范围

我收到下标超出范围错误。这是它发生的功能:

我标记了我将其缩小到问题发生的区域。我正在编码的是 VS2012 和 c++/cli。如您所见,我正在尝试从 .obj 文件加载数据以渲染 3D 模型。这不是完整的程序。如果您看到我遗漏的东西,请告诉我。:-)

0 投票
2 回答
797 浏览

java - 编译 Java 项目后出错:线程“main”java.lang.StringIndexOutOfBoundsException 中的异常:字符串索引超出范围:0

我正在为学校做一个项目。该项目是一个用户需要猜测对象价格的游戏。价格是随机生成的。用户有 5 次猜测的机会。如果他不这样做,则游戏结束,并询问他是否想重玩。该游戏的名称可以称为 The Price is Right。我的问题是,当我运行项目时,它会在用户回答之前崩溃,以了解他是否想重播。

这是错误。我不知道是什么问题......

这是我从用户那里获取信息的代码行,是或否,这是第 102 行,在错误代码中,我已经声明了所有变量。valeur_recommencer 是一个字符,recommencer 是一个字符串。我所有的代码都是Java。对不起,代码的语言是法语,是学校的要求。

0 投票
2 回答
214 浏览

c++ - 向量超出范围 - C++

我正在做一个需要我用 C++ 制作 Hangman 游戏的项目。我的大部分工作都在工作,但是每次用户输入猜测后,我都坚持打印出正确猜测的单词部分。我创建了一个类来表示一个刽子手游戏,并且在这个类中是确定如何进行猜测的方法。如果在字典中随机选择的单词中的任何位置找到猜测,我将该字符保存到名为 currentWord 的向量中的相同位置。currentWord 在构造函数中被初始化为包含随机选择的单词长度的“_”(这样它与单词的大小相同,我可以在用户输入猜测时更新它)。例如,如果单词是“semicolonialism”,而用户的第一个猜测是'i',我想替换'_'

我试图做的是将成员变量“word”存储在一个名为 tempWord 的临时变量中。然后我从 0 迭代到 tempword 的长度。我使用 tempWord.find(guess) 在 tempWord 中查找与猜测匹配的位置,将其存储到名为 location 的变量中,然后更新该位置的 currentWord 向量以等于该位置的 tempWord。因为这只会在第一次找到匹配的字符时起作用,所以我将 tempWord[location] 更改为 '_',这样下次通过时,位置会有所不同。但是通过这样做,我有时会得到超出范围的错误。如果我注释掉

那么我没有看到这个错误,但只有第一次出现被替换。即使我得到这个越界错误,我可以在调试器中看到每个出现都正确替换在 currentWord 向量中。这让我很困惑,所以任何帮助将不胜感激!谢谢

编辑

感谢 rapptz 建议检查位置是否等于 std::string::npos,我终于让它工作了。这是带有该检查的更新代码段:

我也很喜欢 Tristan 的建议,明天很可能会这样做。一旦我这样做了,我也会发布更新的代码,以防其他人发现它有用。再次感谢!

0 投票
1 回答
1064 浏览

vb.net - VB.NET DateTime 超出范围异常

在我的项目中,我创建了一个标签来显示开始时间和两个按钮来调整它,一个是每次点击增加 15 分钟,另一个是减少 15 分钟。代码如下

按钮一开始工作正常,但如果我继续点击减法按钮,我希望时间会改变一个周期,例如,4:30 AM -> 4:15 AM ->... ->12:15 AM -> 上午 12:00 -> 晚上 11:45 -> 晚上 11:30

但是一旦午夜跳跃事件发生,异常就会抛出,

System.ArgumentOutOfRangeException 未处理 Message="指定的参数超出了有效值的范围。"

那怎么会发生?基于 MSDN,日期时间的最小值为 0001 年 1 月 1 日 00:00:00.0000000。我需要指定年份日期作为初始值吗?

谢谢!