Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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中抛出静默异常?_C#_Silverlight - Fatal编程技术网

C# 如何在c中抛出静默异常?

C# 如何在c中抛出静默异常?,c#,silverlight,C#,Silverlight,我有一个绑定到ComboBox的属性 <ComboBox ItemsSource="{Binding AvailableTypes}" SelectedValue="{Binding Kind, Mode=TwoWay}}"/> 它工作得很顺利,只是每次我提出异常时都会弹出VS2010。是否有任何类型的异常需要引发或设置属性以便调试器留在后台?您可以通过转到“调试>异常”来设置导致调试器中断的异常类型。取消选中公共语言运行时异常的“抛出”复选框,或单

我有一个绑定到ComboBox的属性

    <ComboBox ItemsSource="{Binding AvailableTypes}"
            SelectedValue="{Binding Kind, Mode=TwoWay}}"/>

它工作得很顺利,只是每次我提出异常时都会弹出VS2010。是否有任何类型的异常需要引发或设置属性以便调试器留在后台?

您可以通过转到“调试>异常”来设置导致调试器中断的异常类型。取消选中公共语言运行时异常的“抛出”复选框,或单独选择异常类型。

在Visual Studio中按Ctrl-Alt-E打开调试器的异常配置,然后选择或取消选择所需的异常。

您不应抛出异常类的实例。您应该抛出从Exception派生的类的实例

您可以创建自己的异常类,如果您有框架尚未涵盖的内容,那么您可以选择希望VisualStudio突破的异常


创建了异常类后,转到调试->异常。。。然后选择要使调试器中断的异常。

WPF内置了处理对象属性验证的接口,我鼓励您查看atI是否使用IDataErrorInfo以及IDataNotifyErrorInfo来处理普通表单。这个案例涉及到一些弹出窗口,这迫使我采用异常方式。我不喜欢创建异常类只是为了与studio通信,我重用了System.ComponentModel.DataAnnotations.ValidationException为什么只与[Visual]studio通信?当然,抛出异常会带来其他好处?如果是这样的话,您应该使用现有的类型,但不包括异常本身,因为它太一般,或者为您的应用程序场景创建特定类型。唯一的好处是中止绑定,不再使用此异常。Delphi语言有一个AbortException,被调试器忽略,我在c中寻找类似的东西,没有设置所有团队计算机来忽略特定的异常。不幸的是,在.net中没有marvel bullet。
    public MyKind Kind
    {
        get { return kind; }
        set 
        {
            if (kind != value)
            {
                if (SomeRuleFailed(value))
                throw new Exception("to be ate by binding code");
                kind = value;
            }
        }
    }