5 / 5 / 5
Регистрация: 20.04.2015
Сообщений: 196
1

Обработка ошибок ArrayTypeMismatchException

05.12.2018, 19:13. Показов 1570. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Реализовать обработку ошибок, при этом переопределив с помощью наследования событие: ArrayTypeMismatchException.


В конце я написал примерный код. Он не работает так как мне не понятно что к чему. Помогите.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApp1
{
    interface IPBook
    {
        string author { get; set; }
        string title { get; set; }
    }
 
    class PrintBook : IPBook //Печатное издание Valentin Trifonov
    {
        public string author { get; set; }
        public string title { get; set; }
        public string release { get; set; }
        public PrintBook(string release)
        {
            this.release = release; // выпуск
        }
 
        public void Print()
        {
            Console.WriteLine("Автор: " + author);
            Console.WriteLine("Название: " + title);
            Console.WriteLine("");
        }
        public virtual void bookV()
        {
            Console.WriteLine($"Выпуск: {release}");
        }
    }
 
    interface IPMag
    {
        string year { get; set; }
 
    }
    class Magazine : PrintBook, IPBook, IPMag // Журнал
    {
        public string year { get; set; }
        public string page { get; set; }
        public Magazine(string relase, string page) : base(relase)
        {
            this.page = page;  // кол-во страниц
        }
        public void Print1()
        {
            Console.WriteLine("Автор: " + author);
            Console.WriteLine("Название: " + title);
            Console.WriteLine("Год: " + year);
            Console.WriteLine("");
        }
        public override void bookV()
        {
            Console.WriteLine($"Выпуск: {release}");
            Console.WriteLine($"Кол-во страниц: {page}");
        }
    }
 
    class Book : Magazine, IPBook, IPMag // Книга
    {
        public string number { get; set; }
        public Book(string relase, string page, string number) : base(relase, page)
        {
            this.number = number;  // номер
        }
        public void Print2()
        {
            Console.WriteLine("Автор: " + author);
            Console.WriteLine("Название: " + title);
            Console.WriteLine("Год: " + year);
        }
        public override void bookV()
        {
            Console.WriteLine($"Выпуск: {release}");
            Console.WriteLine($"Кол-во страниц: {page}");
            Console.WriteLine($"Номер №: {number}");
        }
 
    }
 
    class Classbook : Book  // Учебник
    {
        public string edition { get; set; }
        public Classbook(string relase, string page, string number, string edition) : base(relase, page, number)
        {
            this.edition = edition; // название редакции
        }
        public void Print3()
        {
 
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            var printbook = new PrintBook("Нет выпуска");
            printbook.bookV();
            printbook.author = "Валентин Трифонов";
            printbook.title = "Прогрмаммирование на C#";
            printbook.Print();
            //Valentin Trifonov
 
            var мagazine = new Magazine("Питер СПБ", "816");
            мagazine.bookV();
            мagazine.author = "Стиллмен Э";
            мagazine.title = "Изучаем C#. 3-е издание";
            мagazine.year = "2014";
            мagazine.Print1();
 
            var book = new Book("Наука и Техника СПб", "240", "2689947");
            book.bookV();
            book.author = "Гололобов В.";
            book.title = "Raspberry Pi для любознательных";
            book.year = "2019";
            book.Print2();
 
 
            /*
            objs = new Classbook[3];
            try
            {
                objs[0] = (Classbook)"Turtle";
                objs[1] = (Classbook)12;
                objs[2] = (Classbook)2.341;
 
                foreach (object element in objs)
                {
                    System.Console.WriteLine(element);
                }
            }
            catch (System.ArrayTypeMismatchException)
            {
                // ArrayTypeMismatchException is not thrown this time.
                System.Console.WriteLine("Exception Thrown.");
            }
            */
 
 
            Console.ReadKey();
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2018, 19:13
Ответы с готовыми решениями:

Обработка ошибок
Здраствуйте! Есть такой фрагмент кода C# //Ввод коэффициентов private void...

Обработка ошибок и XML
Не могу понять в чем ошибка... Делаю так: try { ...

Обработка http ошибок в HttpWebRequest
Доброго времени суток. Помогите, пожалуйста обработать http-ошибки в функции, отправляющей...

Обработка ошибок в событии BackgroundWorker.RunWorkerCompleted
Приветствую! Нужна помощь с backgroundworker. Написал код, который выбирает данные из одной БД и...

5
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
05.12.2018, 19:43 2
Цитата Сообщение от Valentin-TT Посмотреть сообщение
переопределив с помощью наследования событие: ArrayTypeMismatchException.
Что-то не увидел что бы вы переопределили исключение.
0
5 / 5 / 5
Регистрация: 20.04.2015
Сообщений: 196
05.12.2018, 19:52  [ТС] 3
Цитата Сообщение от PoPsa85 Посмотреть сообщение
Что-то не увидел что бы вы переопределили исключение
Так я и не знаю как это делается((
0
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
05.12.2018, 19:59 4
Valentin-TT,
C#
1
2
3
4
5
class MyException : ArrayTypeMismatchException
    {
        public MyException(string message) : base(message) { }
        
    }
1
5 / 5 / 5
Регистрация: 20.04.2015
Сообщений: 196
05.12.2018, 20:10  [ТС] 5
Цитата Сообщение от PoPsa85 Посмотреть сообщение
class MyException
Т.е. создаётся новый класс?

я написал примерно но он ругается на book1.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    class MyException : ArrayTypeMismatchException
    {
        public MyException(string message) : base(message)
        { //тут прописываем класс. и действия?
 
            book1 = new Classbook("22", "23", "232", "2");
            try
            {
                book1.author = "Гололобов В.";
                book1.title = "Raspberry Pi для любознательных";
                book1.year = "2019";
 
                foreach (object element in book1)
                {
                    System.Console.WriteLine(element);
                }
            }
            catch (System.ArrayTypeMismatchException)
            {
                // ArrayTypeMismatchException is not thrown this time.
                System.Console.WriteLine("Exception Thrown.");
            }
 
        }
0
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
05.12.2018, 20:26 6
Valentin-TT, Нет. В этом классе вы определяете формат вывода ошибка, текст,дополнительные поля и т.д.
Можете здесь подсмотреть https://metanit.com/sharp/tutorial/3.17.php
Я честно говоря не понял почему в задании наследоваться просят от ArrayTypeMismatch.

Добавлено через 2 минуты
Valentin-TT, Я у вас в коде не вижу ни ввода, ни загрузки откуда-то данных. С чего тут исключению возникнуть ?
0
05.12.2018, 20:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2018, 20:26
Помогаю со студенческими работами здесь

Обработка ошибок в потоке
Здравствуйте! Проблема у меня состоит в следующем: Запускаю я метод в Task и обрабатываю все в...

Обработка ошибок выполнения скрипта
Ребята, ОЧЕНЬ нужна ваша помощь!!! К примеру у меня есть скрипт, который запускает обновление...

ArrayTypeMismatchException
Здравствуйте! У меня такой вопрос: мне надо создать массив в StringGrid и сделать исключения с...

Обработка ошибок
используй erl() только если в строке с ошибкой нету номера строки erl() возвращает 0


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru