MST

星途 面试题库

面试题:C# 异常处理体系之常见异常类型及捕获处理

请列举至少3种C#中常见的运行时异常类型,并说明在代码中如何使用try - catch块捕获并处理这些异常,例如处理`DivideByZeroException`异常的代码示例。
37.5万 热度难度
编程语言C#

知识考点

AI 面试

面试题答案

一键面试

以下是C#中常见的运行时异常类型及try - catch处理示例:

  1. DivideByZeroException(除零异常):当试图用一个整数除以零时引发。
try
{
    int result = 10 / 0;
}
catch (DivideByZeroException ex)
{
    Console.WriteLine($"捕获到除零异常: {ex.Message}");
}
  1. NullReferenceException(空引用异常):当应用程序试图通过空引用访问对象成员时引发。
try
{
    string str = null;
    int length = str.Length;
}
catch (NullReferenceException ex)
{
    Console.WriteLine($"捕获到空引用异常: {ex.Message}");
}
  1. IndexOutOfRangeException(索引越界异常):当数组、集合或其他索引结构使用无效索引时引发。
try
{
    int[] numbers = { 1, 2, 3 };
    int value = numbers[3];
}
catch (IndexOutOfRangeException ex)
{
    Console.WriteLine($"捕获到索引越界异常: {ex.Message}");
}
  1. FormatException(格式异常):当方法调用的参数格式不正确时引发,例如将非数字字符串转换为数字。
try
{
    string str = "abc";
    int number = int.Parse(str);
}
catch (FormatException ex)
{
    Console.WriteLine($"捕获到格式异常: {ex.Message}");
}