Exception Handling In C#

Try... Catch

Exceptions are handled by using try…catch statements. Code which may give rise to exceptions is enclosed in a try block , which is followed by one or more catch blocks. Well if we don't write like such we get errors like as follows :

class A {
 static void Main() {
  catch {
  }
 }
} 

TEMP.cs(3,5): error CS1003: Syntax error, 'try' expected 

class A {
 static void Main() {
  finally {
  }
 }
} 

TEMP.cs(3,5): error CS1003: Syntax error, 'try' expected 

class A {
 static void Main() {
  try {
  }
 }
} 
TEMP.cs(6,3): error CS1524: Expected catch or finally

The try block contains the code segment expected to raise an exception. This block is executed until an exception is thrown The catch block contains the exception handler. This block catches the exception and executes the code written in the block. If we do not know what kind of exception is going to be thrown we can simply omit the type of exception. We can collect it in Exception object as shown in the following program:

int a, b = 0 ;
Console.WriteLine( "My program starts " ) ;
try
{ 
 a = 10 / b; 
} 
catch ( Exception e )
{ 
 Console.WriteLine ( e ) ; 
} 
Console.WriteLine ( "Remaining program" ) ; 
The output of the program is:

My program starts
System.DivideByZeroException: Attempted to divide by zero.at ConsoleApplication4.Class1.Main(String[] args) in d:\dont delete\c#(c sharp)\swapna\programs\consoleapplication4\consoleapplication4\class1.cs:line 51
Remaining program

The exception 'Divide by zero' was caught, but the execution of the program did not stop.

You might also like...

Comments

About the author

Kamran Shakil Pakistan

I am 22 male. BS(Computer Science), MCSE, Brainbench certifed. Member of .NET Open source, Mono Project. E-author on various websites, including www.dotnetextreme.com, www.csharphelp.com and so...

Interested in writing for us? Find out more.

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.”