举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > c#入门教程 C# try catch finally

c#入门教程 C# try catch finally

2023-02-24 10:08 C#教程

c#入门教程 C# try catch finally

c#入门教程

C#是一种面向对象的编程语言,它是微软公司开发的,用于构建应用程序和服务。C#是一种强大的、通用的、面向对象的语言,它可以用来开发桌面应用程序、Web应用程序、服务器端应用程序以及手机应用等。

C#入门教程既可以帮助初学者快速入门,也可以帮助有一定基础的人更好地理解C#语言。这个教程将会带领你学习C#语言中的基本概念,并且会教你如何使用这些概念来创建实际的C#代码。

在学习C#之前,你需要了解一些基本的概念,例如变量、函数、循环、条件语句、数据类型、运算符以及对象。这些都是C#中使用最多的概念,因此在学习之前要特别注意。

此外,你还需要安装Visual Studio或者MonoDevelop IDE来开始学习C#。Visual Studio是微软公司出品的集成开发工具(IDE),而MonoDevelop是一个开源IDE。它们都能够帮助你写出正确标准化的代码并且能够方便地测试代码。

// 创建一个新字符串 
string str = "Hello World!"; 
// 输出字符串 
Console.WriteLine(str);  

当你已将上述内容都准备好之后就可以开始学习C#了。在学习中要特别注意代衕命名原则、标准化样式以及泛型方法使用原则。当然,不要忘了多看看文档并尝试写一些小例子来巩固所学内容。

C# try catch finally

C# try catch finally

try 语句指定受错误处理或清除代码影响的代码块。

try 块必须后跟 catch 块, finally 块,或两者。

当try块中发生错误时, catch 块执行。

执行 finally 块执行后离开 try 块执行清理代码,无论是否发生错误。

catch块可以访问包含有关的信息的 Exception 对象错误。

您使用catch块来补偿错误或重新抛出异常。

如果您只想记录问题,或者想要重新创建一个新的更高级别的异常类型,则重新抛出异常。

一个 finally 块会给你的程序添加确定性,CLR总是执行它。

它对清理任务(如关闭网络连接)很有用。

try语句如下所示:

try {
    ... // exception may get thrown within execution of this block
} catch (ExceptionA ex) {
    ... // handle exception of type ExceptionA
} catch (ExceptionB ex) {
    ... // handle exception of type ExceptionB
} finally {
    ... // cleanup code
}

例子

考虑下面的程序:

class Main {
    static int Calc (int x) { 
       return 10 / x; 
    }
    static void Main()  {
       int y = Calc (0);
       Console.WriteLine (y);
    }
}

为了防止运行时在x为0的情况下抛出DivideByZeroException,我们可以捕获异常,如下所示:

class Main {
    static int Calc (int x) { return 10 / x; }
    static void Main() {
       try {
          int y = Calc (0);
          Console.WriteLine (y);
       } catch (DivideByZeroException ex) {
          Console.WriteLine ("x cannot be zero");
       }
       Console.WriteLine ("program completed");
    }
}

catch子句

catch 子句指定要捕获的异常的类型。

这必须是 System.Exception System.Exception 的子类。

捕获 System.Exception 捕获所有可能的错误。

您可以使用多个catch子句处理多个异常类型:

class Main {
    static void Main (string[] args) {
       try {
           byte b = byte.Parse (args[0]);
           Console.WriteLine (b);
       } catch (IndexOutOfRangeException ex) {
           Console.WriteLine ("Please provide at least one argument");
       } catch (FormatException ex) {
           Console.WriteLine ("That"s not a number!");
       } catch (OverflowException ex) {
           Console.WriteLine ("You"ve given me more than a byte!");
       }
    }
}

如果您不需要访问其属性,则可以捕获异常而不指定变量:

catch (StackOverflowException) // no variable
{
    ...
}

我们可以省略变量和类型,这意味着将捕获所有异常:

catch { 
   ... 
}

finally块

finally 块总是执行。

finally块通常用于清理代码。

static void methodA() {
    StreamReader reader = null;
    try {
       reader = File.OpenText ("file.txt");
       if (reader.EndOfStream) return;
           Console.WriteLine (reader.ReadToEnd());
    } finally {
       if (reader != null) reader.Dispose();
    }
}
阅读全文
以上是编程学为你收集整理的c#入门教程 C# try catch finally全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • c#类的定义 C# 类

    c#类的定义 C# 类

    2023-02-28 C#教程

    C#类类是最常见的类型的引用类型。类是对象的蓝色打印。最简单的类声明如下:class YourClassName { } 在关键字类之前,我们可...

  • c#字段是什么意思 C# 字段

    c#字段是什么意思 C# 字段

    2023-02-27 C#教程

    C#字段字段是一个变量,它是类或结构的成员。例如: class Person { string name; public int Age = 10; } 字段允许以下修饰符:...

  • C#自动属性 C# 属性

    C#自动属性 C# 属性

    2023-02-25 C#教程

    C#属性属性从外部看起来像字段,但在内部它们包含逻辑。一个属性被声明为一个字段,但是添加了一个get / set块。以下是如何实现...

  • c#装箱和拆箱的概念 C# 装箱和拆箱

    c#装箱和拆箱的概念 C# 装箱和拆箱

    2023-02-25 C#教程

    C# 装箱和拆箱对象类型 object 或 System.Object 是所有类型的最终基类。任何类型都可以upcast到对象。以下代码创建一个类Stack...

  • c#访问修饰符的权限 C# 访问修饰符

    c#访问修饰符的权限 C# 访问修饰符

    2023-02-23 C#教程

    C#访问修饰符类型或类型成员可以通过使用访问修饰符来限制其对其他类型的可访问性。例如,我们可以设置一个方法的访问级别,使...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部