Обработка исключения System.IndexOutOfRangeException - C#
Формулировка задачи:
Добрый вечер) Возникла проблема с исключением.
По смыслу - с клавиатуры вводится строка, которую я преобразую в массив символов и потом каждый элемент проверяю, исходя из своих соображений. Так вот. Есть вот такой кусочек кода:
НО! Далее мне нужно предусмотреть ситуацию, когда пользователь этот элемент массива вообще не ввел, т.к. он является последним. Т.е. возникает исключение System.IndexOutOfRangeException. Естественно, идет обращение к несуществующему элементу.
Так вот - нужно его "отловить" и вывести в консоль сообщение "блаблабла".
Заранее благодарна.
else if (str_fix[7] != 59)
{
Console.WriteLine("Ошибка пунктуации!");
}Решение задачи: «Обработка исключения System.IndexOutOfRangeException»
textual
Листинг программы
namespace CustomIndicatorSet
{
using System;
using System.ComponentModel;
using ATAS.Indicators;
using System.Collections.Generic;
[DisplayName("POC_SMA")]
[Description("Пользовательская скользящая средняя по ценам POC")]
public class SMA : Indicator
{
private int _period;
public int Period
{
get { return _period; }
set
{
_period = value;
RecalculateValues();
}
}
public SMA()
{
Period = 10;
}
protected override void OnCalculate(int bar, decimal value)
{
// Определяем ценовой уровень с максимальным объемом в баре
var candle = GetCandle(bar);
var price = (int)candle.MaxVolumePriceInfo.Price;
// Организуем список и записываем в него полученное значение на последнее место
List<int> numbers = new List<int>();
numbers.Add(price);
// Рассчитываю start
var start = Math.Max(0, bar - Period + 1);
// Считаю количество баров, по которому буду усреднять
var count = Math.Min(bar + 1, Period);
var sum = 0;
for (var i = start; i < start + count; i++)
// Сумма для расчета средней
{
sum += numbers[i];// Я так полагаю, что проверку нужно где-то здесь....
}
this[bar] = sum / count;// Или здесь...
}
}