Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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#故障立即导致程序崩溃 //接口 [经营合同] [FaultContract(类型为(UserManagementFault))] void AddUser(用户); //类实现接口 public void AddUser(用户) { //抛出faultException(即时崩溃) 抛出新的FaultException(新的UserManagementFault(“用户激进分子”), 新故障原因(“用户激励”); } //过失 [数据合同] 公共类用户管理错误 { 私有字符串消息; 公共用户管理错误(字符串消息) { _消息=消息; } [数据成员] 公共字符串消息{get{return}Message;}set{{MESAGE=value;}} } //方法调用程序 试一试{ AddUser(); }捕获(错误异常){ }_C#_Try Catch_Fault - Fatal编程技术网

c#故障立即导致程序崩溃 //接口 [经营合同] [FaultContract(类型为(UserManagementFault))] void AddUser(用户); //类实现接口 public void AddUser(用户) { //抛出faultException(即时崩溃) 抛出新的FaultException(新的UserManagementFault(“用户激进分子”), 新故障原因(“用户激励”); } //过失 [数据合同] 公共类用户管理错误 { 私有字符串消息; 公共用户管理错误(字符串消息) { _消息=消息; } [数据成员] 公共字符串消息{get{return}Message;}set{{MESAGE=value;}} } //方法调用程序 试一试{ AddUser(); }捕获(错误异常){ }

c#故障立即导致程序崩溃 //接口 [经营合同] [FaultContract(类型为(UserManagementFault))] void AddUser(用户); //类实现接口 public void AddUser(用户) { //抛出faultException(即时崩溃) 抛出新的FaultException(新的UserManagementFault(“用户激进分子”), 新故障原因(“用户激励”); } //过失 [数据合同] 公共类用户管理错误 { 私有字符串消息; 公共用户管理错误(字符串消息) { _消息=消息; } [数据成员] 公共字符串消息{get{return}Message;}set{{MESAGE=value;}} } //方法调用程序 试一试{ AddUser(); }捕获(错误异常){ },c#,try-catch,fault,C#,Try Catch,Fault,当throw new FaultException行执行时,程序崩溃,但我希望程序跳入代码底部的catch部分。 我做错了什么 编辑:我注意到Visual Studio正在暂停程序,但当我按下“继续”时,程序进入了捕捉块。。。奇怪的是,对于自定义异常,代码中似乎有错误。我还要添加一个一般例外,看看发生了什么 //interface [OperationContract] [FaultContract(typeof(UserManagementFault))] void AddUser(User

当throw new FaultException行执行时,程序崩溃,但我希望程序跳入代码底部的catch部分。 我做错了什么


编辑:我注意到Visual Studio正在暂停程序,但当我按下“继续”时,程序进入了捕捉块。。。奇怪的是,对于自定义异常,代码中似乎有错误。我还要添加一个一般例外,看看发生了什么

//interface
[OperationContract]
[FaultContract(typeof(UserManagementFault))]
void AddUser(User user);

//class implements interface
public void AddUser(User user)
{
    //throw faultException (instant crash)
    throw new FaultException<UserManagementFault>(new UserManagementFault("User Excists"),
        new FaultReason("User Excists"));
}

//fault
[DataContract]
public class UserManagementFault
{
    private string _message;

    public UserManagementFault(string message)
    {
        _message = message;
    }

    [DataMember]
    public string Message { get { return _message; } set { _message = value; } }
}


//method invoker
try {
    AddUser();
} catch(FaultException<UserManagementFault>) {

}
试试看{
AddUser();
}捕获(错误异常){
}
捕获(例外情况除外){
}

这很有帮助。我在调查你有没有把破发点放在接球区?您在事件查看器中看到了什么吗?FaultException的共享代码
try {
    AddUser();
} catch(FaultException<UserManagementFault>) {

}
catch(Exception ex) {

}