标签: outofrangeexception

C#:如何解决这个ArgumentOutofRangeExeception?

让自己成为密码管理器,我遇到了一段代码问题.应该发生的是应用程序打开一个xml文件,然后使用该xml文档中包含的项目(帐户)填充listview.右键单击列表视图可以为各种选项提供上下文菜单,所有选项都可以单独使用.但是,打开xml文档,然后从列表视图中删除其中一个帐户,然后尝试添加另一个帐户,它会抛出以下内容:

 ArgumentOutOfRangeException unhandled.
 InvalidArgument=Value of '4' is not valid for 'index'.
 Parameter name: index
Run Code Online (Sandbox Code Playgroud)

我假设什么是错误的是当我从列表视图中删除帐户时,我搞乱了索引变量的计数,该变量在应用程序启动时为xml文档中的每个项目递增.不确定在不破坏其他代码部分的情况下解决问题的最佳方法.我想通过计算listView中现在有多少项目来删除帐户后重新设置'index'的值,但不确定这是否最佳.这是打开xml时代码的样子.

private void openPasswordFileToolStripMenuItem_Click(object sender, EventArgs e)
    {
        System.Xml.XmlDocument loadDoc = new System.Xml.XmlDocument();

        try
        {
            loadDoc.Load(Application.StartupPath + "\\database.xml");
        }
        catch (System.IO.FileNotFoundException)
        {
            MessageBox.Show("Password Database does not exist!");
        }
        foreach (System.Xml.XmlNode node in loadDoc.SelectNodes("/Database/Account"))
        {
            lvItem = listView1.Items.Insert(index, node.Attributes["Description"].InnerText); ;
            lvItem.SubItems.Add(new ListViewItem.ListViewSubItem(lvItem, node.Attributes["Username"].InnerText)); ;
            lvItem.SubItems.Add(new ListViewItem.ListViewSubItem(lvItem, node.Attributes["Password"].InnerText)); ;
            index += 1;
        }
    }
Run Code Online (Sandbox Code Playgroud)

最后删除帐户的细分:

 private void removeSelectedAccountToolStripMenuItem_Click(object sender, EventArgs e)
    {
        listView1.Items.Remove(listView1.SelectedItems[0]);
    }
Run Code Online (Sandbox Code Playgroud)

在执行以下序列之前,一切都正常工作:帐户文件已打开 - >帐户已删除 - …

c# listview outofrangeexception

2
推荐指数
1
解决办法
1504
查看次数

为什么我会得到"超出范围异常的参数"?

我尝试了下面这段代码.我不明白为什么我继续得到一个"争论超出界限"的例外.

private void Easy_Click(object sender, EventArgs e)
{
    string fileData =readFile();
    if (fileData.Contains(name))
    {
        int i = fileData.IndexOf(name);
        int easyScore = i + name.Length +1;
        MessageBox.Show(fileData+"  "+i);
        string newString = fileData.Substring(45, 48);
        Easy.Text=newString;
    }
}
Run Code Online (Sandbox Code Playgroud)

c# arrays string outofrangeexception

2
推荐指数
1
解决办法
1395
查看次数

允许使用空白的Java列表

这可能非常简单,但我真的无法在谷歌上正确说出来.我有一个ArrayList来保存每个线程的信息.每个线程都有自己的ID.所以,在开始时:

myList.add(theIdOfTheThread, new InfoForTheThread()); //Add new thread info at index theIdOfTheThread
Run Code Online (Sandbox Code Playgroud)

当我想要信息时:

myList.get(myId); //The info for the thread
Run Code Online (Sandbox Code Playgroud)

但是,每当较低的线程完成并删除它的条目等时,我总是得到OutOfRangeExceptions.所以,我确信必须有一个更好的类来使用它,我可以把条目放在我想要的任何索引,并拉它们在我想要的任何指数,他们留下来.

java list outofrangeexception

1
推荐指数
1
解决办法
308
查看次数

没有在Matlab中出界

我在Matlab中注意到以下内容.

>> a = [1, 3];
>> a(3, 4) = 1
a =

 1     2     0     0
 0     0     0     0
 0     0     0     1
>> a(5, 4)
??? Attempted to access a(5,4); index out of bounds because size(a)=[3,4].
Run Code Online (Sandbox Code Playgroud)

a最初的尺寸不是1比2?当我写信时,为什么它不会抱怨,a(3, 4)但只有在我读书时a(5, 4)
谁能帮我理解?
提前致谢.

matlab outofrangeexception

1
推荐指数
1
解决办法
432
查看次数

Python - 了解错误:IndexError:列表索引超出范围

我对python很新.我有一个我需要理解的错误.

代码:

config.py:

# Vou definir os feeds
feeds_updates = [{"feedurl": "http://aaa1.com/rss/punch.rss", "linktoourpage": "http://www.ha.com/fun.htm"},
                 {"feedurl": "http://aaa2.com/rss.xml", "linktoourpage": "http://www.ha.com/fun.htm"},
                 {"feedurl": "http://aaa3.com/Heaven", "linktoourpage": "http://www.ha.com/fun.htm"},
                 {"feedurl": "http://aaa4.com/feed.php", "linktoourpage": "http://www.ha.com/fun.htm"},
                 {"feedurl": "http://aaa5.com/index.php?format=feed&type=rss", "linktoourpage": "http://www.ha.com/fun.htm"},
                 {"feedurl": "http://aaa6.com/rss.xml", "linktoourpage": "http://www.ha.com/fun.htm"},
                 {"feedurl": "http://aaa7.com/?format=xml", "linktoourpage": "http://www.ha.com/fun.htm"},
                 {"feedurl": "http://aaa8/site/component/rsssyndicator/?feed_id=1", "linktoourpage": "http://www.ha.com/fun.htm"}]
Run Code Online (Sandbox Code Playgroud)

twitterC.py

# -*- coding: utf-8 -*-
import config   # Ficheiro de configuracao
import twitter
import random
import sqlite3
import time
import bitly_api #https://github.com/bitly/bitly-api-python
import feedparser

...

# Vou escolher um feed ao acaso
feed_a_enviar = random.choice(config.feeds_updates)
# Vou …
Run Code Online (Sandbox Code Playgroud)

python list outofrangeexception

1
推荐指数
1
解决办法
2万
查看次数

#1264超出范围值修复?

当我尝试将下面插入我的MySQL时

INSERT INTO `rooms` (`id`, `ip`) VALUES ('131213', '-259857341');
Run Code Online (Sandbox Code Playgroud)

我失败了以下错误:

Warning: #1264 Out of range value for column 'ip' at row 1
Run Code Online (Sandbox Code Playgroud)

我环顾四周,但还没有找到如何解决或解决它...

我的字段是unsigned int,它应该适用于该条目.

有什么问题,如何解决?

我使用unsigned int因为我想使用inet_ntoa/aton存储ips.

编辑:

我在MySQL网站上使用unsigned INT作为推荐:

要存储由INET_ATON()生成的值,请使用INT UNSIGNED列而不是INT(已签名).如果使用带符号列,则无法正确存储与第一个八位字节大于127的IP地址对应的值.请参见第10.6节"超出范围和溢出处理".

http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html

mysql int outofrangeexception mysql-error-1264

1
推荐指数
1
解决办法
3万
查看次数

抛出'std :: out_of_range'的实例后调用terminate():basic_string :: erase

string Farfallino::decode(string buff) {

string stringa;
size_t pos;

while(1) {
    while(pos = (buff.find("afa"))) {
        buff.erase(pos, 3);
        buff.insert(pos, "a");
    }
    while(pos = (buff.find("efe"))) {
        buff.erase(pos, 3);
        buff.insert(pos, "e");
    }
    while(pos = (buff.find("ifi"))) {
        buff.erase(pos, 3);
        buff.insert(pos, "i");
    }
    while(pos = (buff.find("ofo"))) {
        buff.erase(pos, 3);
        buff.insert(pos, "o");
    }
    while(pos = (buff.find("ufu"))) {
        buff.erase(pos, 3);
        buff.insert(pos, "u");
    }
}

return stringa;
}
Run Code Online (Sandbox Code Playgroud)

我试图擦除传递给函数的字符串中的每个"afa""efe""ifi""ofo"和"ufu",但它给了我这个错误.我不知道我做错了什么..

c++ stdstring erase outofrangeexception

1
推荐指数
1
解决办法
5005
查看次数

线程和IndexOutOfRange异常

请注意,在当地人i = 3

你可以清楚地看到args []的最高索引是2,但迭代器不知何故得到3.

编辑:评论的Thread.Sleep神奇地修复了问题.

c# multithreading outofrangeexception

1
推荐指数
1
解决办法
65
查看次数

C ++函数未捕获向量下标超出范围的执行

我试图在字符“:”上拆分一个字符串,然后查看索引 2 是否存在。我的分割字符串函数工作得很好,因为我已经使用它很长一段时间了,但是在尝试尝试{} catch()之后,它没有捕获执行,而是在我的屏幕上显示调试错误。

    std::vector<std::string> index = split_string(random_stringgg);

    std::cout << index[1] << std::endl;

    try {
        std::string test = index[2];   
    }
    catch (...) {
        std::cout << "error occured" << std::endl;
        return false;
    }
    std::cout << "no error";
Run Code Online (Sandbox Code Playgroud)

据我所知,这应该尝试找到向量“索引”的第二个索引,然后捕获执行(如果没有/无法找到它)。然而,这对我不起作用,即使在添加 try/catch 之后,它也会抛出“向量下标超出范围”。我的问题是为什么它没有捕获并仍然显示错误?

c++ exception outofrangeexception c++14

1
推荐指数
1
解决办法
2282
查看次数

std :: out_of_range在C++中访问std :: string时出错

我是三个中等程度的程序员团队的一员,我们目前正在尝试用C++编写程序来体现我们的新加密算法.但是,我们遇到了一个错误,表明我们在某个时刻超过了字符串的长度.我自己试过调试这个,但我没有运气.它在jumble()函数中,但是......

无论如何,这是我们的源代码粘贴与临时main()函数:http: //pastebin.com/GvvYAsKg

它编译得很好,但在运行时,我们收到以下错误:

抛出'std :: out_of_range'的实例后调用terminate
():basic_string :: substr Aborted

c++ outofrangeexception

0
推荐指数
2
解决办法
178
查看次数

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

我正在为学校做一个项目.该项目是用户需要猜测对象价格的游戏.价格是随机生成的.用户有5次机会猜测它.如果他没有,游戏就结束了,并被问到是否要重播.这个游戏的名称可以称为价格合适.我的问题是,当我运行项目时,它会在收到用户的答案之前崩溃,以确定他是否想要重播.

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:658)
at pkgthepriceisrightv1.ThePriceisRightV1.main(ThePriceisRightV1.java:102)
Java Result: 1
BUILD SUCCESSFUL (total time: 7 seconds)
Run Code Online (Sandbox Code Playgroud)

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

这里是我正在获取信息的代码行,来自用户的是或否,这是第102行,在错误代码中,我已经声明了我的所有变量.valeur_recommencer是一个char,而restart是一个字符串.我的所有代码都是用Java编写的.请原谅我的代码语言,全部是法语,是学校的要求.

recommencer = lire.nextLine();   
valeur_recommencer = recommencer.charAt(0);
Run Code Online (Sandbox Code Playgroud)

java netbeans outofrangeexception indexoutofboundsexception

0
推荐指数
1
解决办法
777
查看次数

参数超出范围异常未得到处理

我有下面的代码只运行正常,除非到达Combobox的最后一个索引,它给出标题中提到的错误.更多细节:无效参数='17'的值对'SelectedIndex'无效.参数名称:SelectedIndex

代码遍历组合框中可用的所有索引并提供所需的输出.但是当达到最后一个值时,我得到了这个错误.有人可以指导我吗?

Private Sub ExportButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExportButton.Click

        Dim LastItem As Integer = 0
        LastItem = TagComboBox1.Items.Count

        For i As Integer = 0 To LastItem

            TagComboBox1.SelectedIndex = i

         'CODE to perform some operation..

            If TagComboBox1.SelectedIndex = LastItem Then
                 Exit For
            End If

        Next

    End Sub
Run Code Online (Sandbox Code Playgroud)

.net vb.net loops outofrangeexception

0
推荐指数
1
解决办法
1076
查看次数

如果你使用基于范围的 for 循环而不是标准的 for 循环,你能避免超出范围的错误吗?

我尝试用左右范围为基础的for循环中,如果您使用范围为基础,通过矢量循环来运行到超出范围的错误有没有办法避免这种错误,如果您使用的是基于范围的for循环

int main()
{
    vector<int> num{ 1,2,3,4,5 };
    for (auto i : num)
    {
        cout << num[i] << endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

它显示了这个错误

在此处输入图片说明

c++ for-loop outofrangeexception visual-c++ range-based-loop

0
推荐指数
1
解决办法
65
查看次数