Csharp/C Sharp/Development Class/Buildin Exceptions — различия между версиями

Материал из .Net Framework эксперт
Перейти к: навигация, поиск
м (1 версия)
 
м (1 версия)
 
(нет различий)

Текущая версия на 11:43, 26 мая 2010

Argument Null Exception

using System;
class ArgumentNullTest {
 public static void Main() {
   String[] s = null;
   String sep = " ";
   try {
     String j = String.Join(sep,s);
   }
   catch (ArgumentNullException e) {
      Console.WriteLine("Error: {0}",e);
   }
 }
}


IndexOutOfRangeException Exception

using System;
   
class MainClass
{
    public static void Main()
    {
        try
        {
            int [] IntegerArray = new int [5];
   
            IntegerArray[10] = 123;
   
            // wait for user to acknowledge the results
            Console.WriteLine("Hit Enter to terminate...");
            Console.Read();
        }
        catch(IndexOutOfRangeException)
        {
            Console.WriteLine("An invalid element index access was attempted.");
        }
    }
}


InvalidCastException Exception

using System;
   
class MainClass
{
    public static void Main()
    {
        try
        {
            MainClass       MyObject = new MainClass();
            IFormattable    Formattable;
   
            Formattable = (IFormattable)MyObject;
   
            // wait for user to acknowledge the results
            Console.WriteLine("Hit Enter to terminate...");
            Console.Read();
        }
        catch(InvalidCastException)
        {
            Console.WriteLine("MyObject does not implement the IFormattable interface.");
        }
    }
}


NullReferenceException Exception

using System;
   
class MyClass {
    public int Value;
}
   
class MainClass
{
    public static void Main()
    {
        try
        {
            MyClass MyObject = new MyClass();
            MyObject = null;
   
            MyObject.Value = 123;
   
            // wait for user to acknowledge the results
            Console.WriteLine("Hit Enter to terminate...");
            Console.Read();
        }
        catch(NullReferenceException)
        {
            Console.WriteLine("Cannot reference a null object.");
   
            // wait for user to acknowledge the results
            Console.Read();
        }
    }
}


OutOfMemoryException Exception

using System;
   
class MainClass
{
    public static void Main()
    {
        int [] LargeArray;
   
        try
        {
            LargeArray = new int [2000000000];
        }
        catch(OutOfMemoryException)
        {
            Console.WriteLine("The CLR is out of memory.");
        }
    }
}


OverflowException Exception

using System;
   
class MainClass {
    public static void Main() {
        try {
            checked {
                int Integer1;
                int Integer2;
                int Sum;
   
                Integer1 = 2000000000;
                Integer2 = 2000000000;
                Sum = Integer1 + Integer2;
            }
        } catch(OverflowException) {
            Console.WriteLine("A mathematical operation caused an overflow.");
        }
    }
}


StackOverflowException Exception

using System;
   
class MainClass
{
    public static void Main()
    {
        try
        {
            Recursive();
        }
        catch(StackOverflowException)
        {
            Console.WriteLine("The CLR is out of stack space.");
        }
    }
   
    public static void Recursive()
    {
        Recursive();
    }
}


Throw and Catch an IO exception because the file zxcvb.data doesn"t exist

using System.IO;
public class IoError {
  public static void Main() {
    StreamReader f;
    try{
      f = new StreamReader("DoesNotExist.data");
    }catch(IOException e) {
      System.Console.WriteLine(e);
    }
    f = new StreamReader("DoesNotExist.data");
  }
}


Throw Argument Out Of Range Exception

using System;
using System.Collections;
class Class1 {
   static void Main(string[] args) {
    try {
      // Display the first 200 chars from the connection string
      Console.WriteLine("asdf".Substring(1, 200));
    }
    catch (Exception objE) {
      Console.WriteLine(objE.ToString());
    }
   }
}


Throw Index Out Of Range Exception

using System;
using System.Collections;
class Class1 {
   static void Main(string[] args) {
    long[] longException = new long[2];
    try {
      longException[2] = 5;
    }
    catch (Exception objE) {
      Console.WriteLine(objE.ToString());
    }
   }
}


Throw Invalid Operation Exception

using System;
using System.Collections;
public class InvalidOpExample  {
  public static void Main()  {
    int[] array = {0,0};
    IEnumerator enumerator = array.GetEnumerator();
    Console.Write("{0}",enumerator.Current);
  }
}


Throw Null reference Exception

using System;
using System.Collections;
class Class1 {
   static void Main(string[] args) {
    Exception objException = new Exception();
    try {
      objException = null;
      Console.WriteLine(objException.Message);
    } catch (Exception objE) {
      Console.WriteLine(objE.ToString());
    }
   }
}