Обработка исключения 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;// Или здесь... } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д