Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将异常存储为变量_C#_Variables_Exception_Asynchronous_Var - Fatal编程技术网

C# 将异常存储为变量

C# 将异常存储为变量,c#,variables,exception,asynchronous,var,C#,Variables,Exception,Asynchronous,Var,我遇到了通过另一个代码库处理异常的问题。有人知道是否可以将异常存储为变量以便调用它吗 我对C#有点陌生,但我觉得可以在var中存储任何内容。我需要传递它,因为我在异步线程中抛出异常,我需要将它移回处理异常的主线程。我无法传递它,因为异步类只能是任务或空类。有没有办法让这样的东西发挥作用 var passedException = Exception(123456,"Bad thing that happened"); throw new passedException; 只需将new关键字移动

我遇到了通过另一个代码库处理异常的问题。有人知道是否可以将异常存储为变量以便调用它吗

我对C#有点陌生,但我觉得可以在var中存储任何内容。我需要传递它,因为我在异步线程中抛出异常,我需要将它移回处理异常的主线程。我无法传递它,因为异步类只能是任务或空类。有没有办法让这样的东西发挥作用

var passedException = Exception(123456,"Bad thing that happened");
throw new passedException;

只需将
new
关键字移动到创建
Exception
对象的第一行:

var passedException = new Exception(123456,"Bad thing that happened");
throw passedException;

只需将
new
关键字移动到创建
Exception
对象的第一行:

var passedException = new Exception(123456,"Bad thing that happened");
throw passedException;

您应该更仔细地研究
var
数据类型实际上是什么,它与您的代码不工作无关

这里有一些问题;您尝试调用
异常
构造函数,而不使用
new
关键字。在下一行中,当实例仅适用于类型时,尝试在实例上使用
new
关键字

 Exception e = new Exception("My custom message!");
 throw e;
很好用


如果您想使用
var
,那么您可以使用
var e
,但它在这里没有任何价值,imo只是滥用了该功能
var
只是一种语法糖,编译器只允许从语句右侧推断类型。

您应该更仔细地研究
var
数据类型实际上是什么,它与代码不工作无关

这里有一些问题;您尝试调用
异常
构造函数,而不使用
new
关键字。在下一行中,当实例仅适用于类型时,尝试在实例上使用
new
关键字

 Exception e = new Exception("My custom message!");
 throw e;
很好用


如果您想使用
var
,那么您可以使用
var e
,但它在这里没有任何价值,imo只是滥用了该功能
var
只是语法上的糖分,编译器只允许从语句右侧推断类型。

如果您使用的是
任务
,则在您尝试获取结果或等待任务完成时将抛出an。如果您使用的是
任务
,则在您尝试获取结果或等待任务完成时将抛出an完成