🗊Презентация Обработка исключений

Нажмите для полного просмотра!
Обработка исключений, слайд №1Обработка исключений, слайд №2Обработка исключений, слайд №3Обработка исключений, слайд №4Обработка исключений, слайд №5Обработка исключений, слайд №6Обработка исключений, слайд №7Обработка исключений, слайд №8Обработка исключений, слайд №9Обработка исключений, слайд №10Обработка исключений, слайд №11Обработка исключений, слайд №12Обработка исключений, слайд №13Обработка исключений, слайд №14Обработка исключений, слайд №15Обработка исключений, слайд №16Обработка исключений, слайд №17Обработка исключений, слайд №18

Вы можете ознакомиться и скачать презентацию на тему Обработка исключений. Доклад-сообщение содержит 18 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Обработка исключений
Описание слайда:
Обработка исключений

Слайд 2





Исключение - это объект, генерирующий информацию о «необычном программном происшествии»
Исключение - это объект, генерирующий информацию о «необычном программном происшествии»
Ошибка в программе допускается программистом при ее разработке.
Ошибочная ситуация вызвана действиями пользователя.
Исключительная ситуация - непредсказуемая и неотвратимая проблема.
Описание слайда:
Исключение - это объект, генерирующий информацию о «необычном программном происшествии» Исключение - это объект, генерирующий информацию о «необычном программном происшествии» Ошибка в программе допускается программистом при ее разработке. Ошибочная ситуация вызвана действиями пользователя. Исключительная ситуация - непредсказуемая и неотвратимая проблема.

Слайд 3





Оператор try
В С# исключения представляются классами.
 Все классы исключений порождены от встроенного класса исключений Exception, который определен в пространстве имен System.
try	// контролируемый блок
{ 	/*Программные инструкции, которые нужно проконтролировать на предмет исключений*/
…}
catch //один или несколько блоков обработки исключений
{ 	/*Если исключение возникает в этом блоке, оно дает знать о себе выбросом определенного рода информации. Выброшенная информация может быть перехвачена и обработана*/
…}
finally	//блок завершения
{	/*Любой код, который должен быть обязательно выполнен при выходе из блока try*/
…}
Описание слайда:
Оператор try В С# исключения представляются классами. Все классы исключений порождены от встроенного класса исключений Exception, который определен в пространстве имен System. try // контролируемый блок { /*Программные инструкции, которые нужно проконтролировать на предмет исключений*/ …} catch //один или несколько блоков обработки исключений { /*Если исключение возникает в этом блоке, оно дает знать о себе выбросом определенного рода информации. Выброшенная информация может быть перехвачена и обработана*/ …} finally //блок завершения { /*Любой код, который должен быть обязательно выполнен при выходе из блока try*/ …}

Слайд 4






static void Main()
        {
            int  x = int.Parse(Console.ReadLine());
            int y =1 / x; 
            Console.WriteLine(y);
        }
Исключительные ситуации :
пользователь может ввести нечисловое значение 
если ввести значение 0, то произойдет деление на 0.
Описание слайда:
static void Main() { int x = int.Parse(Console.ReadLine()); int y =1 / x; Console.WriteLine(y); } Исключительные ситуации : пользователь может ввести нечисловое значение если ввести значение 0, то произойдет деление на 0.

Слайд 5





 class Program{
 class Program{
       static void Main()       {
           try
           {  int x = int.Parse(Console.ReadLine());
               int y = 1 / x;
               Console.WriteLine("y={0}", y);
               Console.WriteLine("блок try выполнилсь успешно");
           }
           catch
           {  Console.WriteLine("возникла какая-то ошибка");     }
           Console.WriteLine("конец программы");       }
}
Описание слайда:
class Program{ class Program{ static void Main() { try { int x = int.Parse(Console.ReadLine()); int y = 1 / x; Console.WriteLine("y={0}", y); Console.WriteLine("блок try выполнилсь успешно"); } catch { Console.WriteLine("возникла какая-то ошибка"); } Console.WriteLine("конец программы"); } }

Слайд 6





Вывод информации об ошибке
        catch (Exception error)
         {
          Console.WriteLine("Возникла ошибка {0}", error);
         }
«выброшенная» информация будет записана в идентификатор error. Её можно просмотреть с помощью метода WriteLine.
Описание слайда:
Вывод информации об ошибке catch (Exception error) { Console.WriteLine("Возникла ошибка {0}", error); } «выброшенная» информация будет записана в идентификатор error. Её можно просмотреть с помощью метода WriteLine.

Слайд 7





Стандартные классы исключений
Описание слайда:
Стандартные классы исключений

Слайд 8





Операторы checked и unchecked
В С# предусмотрено специальное средство, которое связано с генерированием исключений, вызванных переполнением результата в арифметических вычислениях.
 static void Main()
        {
            byte x = 200; byte y = 200;
            byte result = (byte) (x + y);
            Console.WriteLine(result);
        }
Описание слайда:
Операторы checked и unchecked В С# предусмотрено специальное средство, которое связано с генерированием исключений, вызванных переполнением результата в арифметических вычислениях. static void Main() { byte x = 200; byte y = 200; byte result = (byte) (x + y); Console.WriteLine(result); }

Слайд 9





Операторы checked и unchecked
checked - для указания, что некоторое выражение должно быть проконтролировано на предмет переполнения
unchecked – игнорирование переполнения
Описание слайда:
Операторы checked и unchecked checked - для указания, что некоторое выражение должно быть проконтролировано на предмет переполнения unchecked – игнорирование переполнения

Слайд 10





Можно задать (или отключить) проверку переполнения сразу для всего проекта. Для этого необходимо выполнить следующие действия:
Можно задать (или отключить) проверку переполнения сразу для всего проекта. Для этого необходимо выполнить следующие действия:
Щелкнуть правой кнопкой мыши на имени проекта
В выпадающем меню выбрать Properties
В появившемся окне (см. рис.) выбрать слева страницу Build
Щелкнуть на кнопке Advanced
В появившемся окошке поставить или убрать галочку напротив Check for arithmetic overflow/underflow property.
Описание слайда:
Можно задать (или отключить) проверку переполнения сразу для всего проекта. Для этого необходимо выполнить следующие действия: Можно задать (или отключить) проверку переполнения сразу для всего проекта. Для этого необходимо выполнить следующие действия: Щелкнуть правой кнопкой мыши на имени проекта В выпадающем меню выбрать Properties В появившемся окне (см. рис.) выбрать слева страницу Build Щелкнуть на кнопке Advanced В появившемся окошке поставить или убрать галочку напротив Check for arithmetic overflow/underflow property.

Слайд 11


Обработка исключений, слайд №11
Описание слайда:

Слайд 12





Оператор checked имеет две формы:
проверяет конкретное выражение и называется операторной checked-формой
 
checked ((тип-выражения) expr)
 
где expr — выражение, значение которого необходимо контролировать. 
Если значение контролируемого выражения переполнилось, генерируется исключение типа OverflowException.
2) проверяет блок инструкций
 
checked 
{
// Инструкции, подлежащие проверке
}
Описание слайда:
Оператор checked имеет две формы: проверяет конкретное выражение и называется операторной checked-формой   checked ((тип-выражения) expr)   где expr — выражение, значение которого необходимо контролировать. Если значение контролируемого выражения переполнилось, генерируется исключение типа OverflowException. 2) проверяет блок инструкций   checked { // Инструкции, подлежащие проверке }

Слайд 13





проверка конкретного выражения
static void Main()
        {
            byte x = 200; byte y = 200;
            try            {
                byte result = unchecked((byte)(x + y)); 
                Console.WriteLine("1: {0}", result);
                result = checked((byte)(x + y));
                Console.WriteLine("2: ", result);
            }
            catch (OverflowException)
            {                Console.WriteLine("возникло переполнение");
            }
        }
Описание слайда:
проверка конкретного выражения static void Main() { byte x = 200; byte y = 200; try { byte result = unchecked((byte)(x + y)); Console.WriteLine("1: {0}", result); result = checked((byte)(x + y)); Console.WriteLine("2: ", result); } catch (OverflowException) { Console.WriteLine("возникло переполнение"); } }

Слайд 14





Контроль за блоком инструкций
class Program    {
        static void Main()        {
            byte n = 1; byte i;
            try
            {                unchecked	//блок без проверки
                {
                    for (i = 1; i < 10; i++) n *= i;
                    Console.WriteLine("1: {0}", n);
                }
                checked 		//блок с проверкой
                {
                    n = 1;
                    for (i = 1; i < 10; i++) n *= i;
                    Console.WriteLine("2: ", n);
                }
            }
            catch (OverflowException)
            {
                Console.WriteLine("возникло переполнение");
            }        }    }
Описание слайда:
Контроль за блоком инструкций class Program { static void Main() { byte n = 1; byte i; try { unchecked //блок без проверки { for (i = 1; i < 10; i++) n *= i; Console.WriteLine("1: {0}", n); } checked //блок с проверкой { n = 1; for (i = 1; i < 10; i++) n *= i; Console.WriteLine("2: ", n); } } catch (OverflowException) { Console.WriteLine("возникло переполнение"); } } }

Слайд 15





Генерация собственных исключений
Используя оператор throw, указав параметры, определяющие вид исключения (параметром должен быть объект, порожденный от стандартного класса System.Exception).
 Этот объект используется для передачи информации об исключении обработчику.
Описание слайда:
Генерация собственных исключений Используя оператор throw, указав параметры, определяющие вид исключения (параметром должен быть объект, порожденный от стандартного класса System.Exception). Этот объект используется для передачи информации об исключении обработчику.

Слайд 16





static void Main()        {
static void Main()        {
            try
            {
                int x = int.Parse(Console.ReadLine());
                if (x < 0) throw new Exception(); 	/* c помощью команды new был создан объект исключения типа Exception*/
                Console.WriteLine("ok");
             }
            catch 
            {
                Console.WriteLine("введено недопустимое значение");
            }
     }
Описание слайда:
static void Main() { static void Main() { try { int x = int.Parse(Console.ReadLine()); if (x < 0) throw new Exception(); /* c помощью команды new был создан объект исключения типа Exception*/ Console.WriteLine("ok"); } catch { Console.WriteLine("введено недопустимое значение"); } }

Слайд 17





При генерации исключения можно определить сообщение, которое будет «выбрасываться» обработчиком исключений
static void Main()
    {
      try
        {
          int x = int.Parse(Console.ReadLine());
          if (x < 0) throw new Exception("введено недопустимое значение"); 
          Console.WriteLine("ok");
         }
       catch (Exception error)
         {
           Console.WriteLine(error.Message);
         }
    }
Описание слайда:
При генерации исключения можно определить сообщение, которое будет «выбрасываться» обработчиком исключений static void Main() { try { int x = int.Parse(Console.ReadLine()); if (x < 0) throw new Exception("введено недопустимое значение"); Console.WriteLine("ok"); } catch (Exception error) { Console.WriteLine(error.Message); } }

Слайд 18





Один try-блок можно вложить в другой. Исключение, сгенерированное во внутреннем try-блоке и не перехваченное catch-инструкцией, которая связана с этим try-блоком, передается во внешний try-блок. 
Один try-блок можно вложить в другой. Исключение, сгенерированное во внутреннем try-блоке и не перехваченное catch-инструкцией, которая связана с этим try-блоком, передается во внешний try-блок. 
Исключение, перехваченное одной catch-инструкцией, можно сгенерировать повторно, чтобы обеспечить возможность его перехвата другой (внешней) catch-инструкцией. Это позволяет нескольким обработчикам получить доступ к исключению. 
Тип исключения должен совпадать с типом, заданным в catch-инструкции. В противном случае это исключение не будет перехвачено. 
Можно перехватывать все исключения, используя catch-инструкцию без параметров. 
С try-блоком можно связать не одну, а несколько catch-инструкций. В этом случае все catch-инструкции должны перехватывать исключения различного типа.
Описание слайда:
Один try-блок можно вложить в другой. Исключение, сгенерированное во внутреннем try-блоке и не перехваченное catch-инструкцией, которая связана с этим try-блоком, передается во внешний try-блок. Один try-блок можно вложить в другой. Исключение, сгенерированное во внутреннем try-блоке и не перехваченное catch-инструкцией, которая связана с этим try-блоком, передается во внешний try-блок. Исключение, перехваченное одной catch-инструкцией, можно сгенерировать повторно, чтобы обеспечить возможность его перехвата другой (внешней) catch-инструкцией. Это позволяет нескольким обработчикам получить доступ к исключению. Тип исключения должен совпадать с типом, заданным в catch-инструкции. В противном случае это исключение не будет перехвачено. Можно перехватывать все исключения, используя catch-инструкцию без параметров. С try-блоком можно связать не одну, а несколько catch-инструкций. В этом случае все catch-инструкции должны перехватывать исключения различного типа.



Похожие презентации
Mypresentation.ru
Загрузить презентацию