throw在try中抛出异常,然后用catch捕捉并处理这个异常,同时catch也可以再次抛出这个异常

简介:
using System;
public class ThrowTest
{
    static void Main()
    {
        string s = null;
        try
        {
            if (s == null)
            {
                throw new ArgumentNullException();
            }
        }
        catch
        {
            s = "litao";
            Console.WriteLine(s);
        }
        Console.Write("The string s is null"); // not executed
    }
}
//输出:
//litao
//The string s is null请按任意键继续 . . .
 同上:
// throw example
using System;
public class ThrowTest
{
    static void Main()
    {
        string s = null;
        try
        {
            if (s == null)
            {
                throw new ArgumentNullException();
            }
        }
        catch
        {
            s = "litao";
           
            Console.WriteLine(s);
           
            throw ;//利用空throw语句,可以再次把已经捕获的异常抛出。
        }
        
        Console.Write("The string s is null"); // not executed
    }
}

同上
// throw example
using System;
public class ThrowTest
{
    static void Main()
    {
        string s = null;
        try
        {
            if (s == null)
            {
                throw(new ArgumentNullException());
            }
        }
        catch(ArgumentException exc)
        {
            s = "litao";
           
            Console.WriteLine(s);
            throw (exc); //等同throw exc;
            //还等同  throw ;//利用空throw语句,可以再次把已经捕获的异常抛出。
            //Console.WriteLine(exc.Message);
            //Console.WriteLine(exc);
        }
        
        Console.Write("The string s is null"); // not executed
    }
}
 












本文转自terryli51CTO博客,原文链接: http://blog.51cto.com/terryli/519510,如需转载请自行联系原作者



相关文章
|
1月前
|
前端开发 JavaScript
使用 try-catch 语句来捕获 Promise 中的异常
【10月更文挑战第26天】使用try-catch语句捕获Promise中的异常是一种非常实用的技术,能够使异步代码的错误处理更加清晰、可控,提高程序的可靠性和稳定性。在实际开发中,合理地运用try-catch语句以及其他相关的错误处理机制,可以有效地应对各种可能出现的异常情况,为用户提供更好的体验。
|
4月前
|
网络协议 Java 数据库连接
13 Java异常(异常过程解析、throw、throws、try-catch关键字)
13 Java异常(异常过程解析、throw、throws、try-catch关键字)
109 2
|
6月前
|
C++
C++一分钟之—异常处理try-catch
【6月更文挑战第22天】C++异常处理机制,借助`try`、`catch`、`throw`管理错误,优雅处理异常,防止程序崩溃。`try`包围可能出错的代码,`catch`捕获异常,`throw`引发异常。基本结构是:`try-catch`块中,未捕获的异常将向上抛出。多`catch`块可按顺序捕获不同类型的异常。易错点包括忽视异常传播、不精确的`catch`和资源未清理。通过精确捕获、RAII技术和适当的异常策略,提升代码健壮性和效率。
52 1
|
Java 程序员 API
异常(中)创建自定义异常,throw,throws关键字抛出异常
异常(中)创建自定义异常,throw,throws关键字抛出异常
124 0
|
7月前
|
C++
C++异常处理try和throw以及catch的使用
C++异常处理try和throw以及catch的使用
|
Java 程序员 编译器
异常(Exception)
异常(Exception)
110 0
异常(Exception)
|
JSON 安全 前端开发
替代try catch处理异常的优雅方式
替代try catch处理异常的优雅方式
|
编译器
throw后报错,找不到报错处。throw、throws 、try/catch 作用区别,自定义Exception异常,printStackTrace()方法的
throw后报错,找不到报错处。throw、throws 、try/catch 作用区别,自定义Exception异常,printStackTrace()方法的
171 2
|
JavaScript 前端开发
错误与异常 之 try...catch语句
错误与异常 之 try...catch语句
129 0
|
Java
Java异常——处理机制Try-catch-finally
Java异常——处理机制Try-catch-finally
194 0