Download presentation
Presentation is loading. Please wait.
1
Chapter 13 Exception Handling: A Deeper Look
2
Things Happen
3
Terminology
4
Exception Keywords
5
Running example namespace UsingExceptions { class Program
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace UsingExceptions { class Program static void Main(string[] args) int x = 10; int y = 5; int result; try result = x / y; Console.WriteLine("The result is: {0}", result); } catch Console.WriteLine("An error occurred! Better check the code!"); finally Console.WriteLine("Just proving that this code always runs."); Console.ReadLine(); }}}
6
Catching Specific Exceptions
7
Hierarchy try { result = x / y;
Console.WriteLine("The result is: {0}", result); } catch (System.DivideByZeroException e) Console.WriteLine("Whoops! You tried to divide by zero!"); Console.WriteLine(e.Message); catch (System.ArithmeticException e)
8
More Specific First try { result = x / y;
Console.WriteLine("The result is: {0}", result); } catch (System.ArithmeticException e) Console.WriteLine("Whoops! You tried to divide by zero!"); Console.WriteLine(e.Message); catch (System.DivideByZeroException e) finally Console.WriteLine("Just proving that this code always runs."); Console.ReadLine();
9
Exceptions are Objects
System.Exception Constructors Properties Hierarchy System.ApplicationException (non fatal exceptions)
10
Custom Exceptions
11
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CustomExceptions { public class MyOwnException : Exception public MyOwnException() : base("Sergey is not welcomed here!") //Exception(string) //this.HelpLink = " } class Program static string GetName() string s = Console.ReadLine(); if (s.Equals("Sergey")) throw new MyOwnException(); return s;
12
static void Main(string[] args)
{ string theName; try theName = GetName(); Console.WriteLine("Hello {0}", theName); } catch (MyOwnException nje) Console.WriteLine(nje.Message); Console.WriteLine("For help, visit: {0}", nje.HelpLink); finally Console.WriteLine("Have a nice day!"); Console.ReadLine();
13
13.2 Example: Divide by Zero without Exception Handling
14
Re-throwing Exceptions
class Program { static void DoSomeMath() int x = 10, y = 0; int result; try result = x / y; Console.WriteLine("Result is {0}", result); } catch Console.WriteLine("Error in DoSomeMath()"); throw new ArithmeticException(); static void Main(string[] args) DoSomeMath(); catch (ArithmeticException e) Console.WriteLine("Hmm, there was an error in there, be careful!"); Console.ReadLine();
16
13.3 Example: Handling DivideByZeroExceptions and FormatExceptions
21
13.4 .NET Exception Hierarchy
22
13.5 finally Block
32
13.7 Exception Properties
38
13.8 User-Defined Exception Classes
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.