Csharp/CSharp Tutorial/Language Basics/Exception in Method — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 12:19, 26 мая 2010
An exception can be generated by one method and caught by another
using System;
class MainClass {
public static void Main() {
try {
genException();
}
catch (IndexOutOfRangeException) {
// catch the exception
Console.WriteLine("Index out-of-bounds!");
}
Console.WriteLine("After catch statement.");
}
public static void genException() {
int[] nums = new int[4];
Console.WriteLine("Before exception is generated.");
// Generate an index out-of-bounds exception.
for(int i=0; i < 10; i++) {
nums[i] = i;
Console.WriteLine("nums[{0}]: {1}", i, nums[i]);
}
Console.WriteLine("this won"t be displayed");
}
}
Before exception is generated. nums[0]: 0 nums[1]: 1 nums[2]: 2 nums[3]: 3 Index out-of-bounds! After catch statement.
System.Exception is the base exception class. All exceptions in .NET are derived from System.Exception.
using System;
public class Starter {
public static void Main() {
try {
int var1 = 5, var2 = 0;
var1 /= var2; // exception occurs
} catch (Exception except) {
if (except is SystemException) {
Console.WriteLine("Exception thrown by runtime");
} else {
Console.WriteLine("Exception thrown by application");
}
}
}
}