Files and Exceptions
The File class from the System.IO namespace, allows us to work with files.
The File class has many useful methods for creating and getting information about files. For example:
For a full list of File methods, go to https://learn.microsoft.com/en-us/dotnet/api/system.io.file?view=netframework-4.8
In [ ]:
using System.IO; // include the System.IO namespace
File.SomeFileMethod(); // use the file class with methods
Write To a File and Read It
In the following example, we use the WriteAllText() method to create a file named "filename.txt" and write some content to it. Then we use the
ReadAllText() method to read the contents of the file:
In [2]:
using System.IO; // include the System.IO namespace
string writeText = "Hello World!"; // Create a text string
File.WriteAllText("filename.txt", writeText); // Create a file and write the content of writeText to it
string readText = File.ReadAllText("filename.txt"); // Read the contents of the file
Console.WriteLine(readText); // Output the content
Hello World!
Exceptions
try - The try statement allows you to define a block of code to be tested for errors while it is being executed.
catch - The catch statement allows you to define a block of code to be executed, if an error occurs in the try block.
finally - The finally statement lets you execute code, after try...catch, regardless of the result.
In the following example, we use the variable inside the catch block (e) together with the built-in Message property, which outputs a message that
describes the exception:
In [2]:
try
{
int[] myNumbers = {1, 2, 3};
Console.WriteLine(myNumbers[10]);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Index was outside the bounds of the array.
You can also output your own error message:
In [3]:
try
{
int[] myNumbers = {1, 2, 3};
Console.WriteLine(myNumbers[10]);
}
catch (Exception)
{
Console.WriteLine("Something went wrong.");
}
Something went wrong.
In [4]:
try
{
int[] myNumbers = {1, 2, 3};
Console.WriteLine(myNumbers[10]);
}
catch (Exception)
{
Console.WriteLine("Something went wrong.");
}
finally
{
Console.WriteLine("The 'try catch' is finished.");
}
Something went wrong.
The 'try catch' is finished.
The throw keyword
The throw statement allows you to create a custom error.
The throw statement is used together with an exception class.
There are many exception classes available in C#: ArithmeticException, FileNotFoundException, IndexOutOfRangeException, TimeOutException,
etc
In [ ]:
static void checkAge(int age)
{
if (age < 18)
{
throw new ArithmeticException("Access denied - You must be at least 18 years old.");
}
else
{
Console.WriteLine("Access granted - You are old enough!");
}
}
static void Main(string[] args)
{
checkAge(15);
}
// Output:-
// System.ArithmeticException: 'Access denied - You must be at least 18 years old.'