Tag: exception处理

WCF测试客户端:无法添加服务。 可能无法访问服务元数据。 确保您的服务正在运行并公开元数据

我目前正在尝试使用同步框架示例: sample 该解决方案可以编译出任何错误或警告。 但是当我点击F5时,WCF测试客户端启动并抛出以下错误。 Local \ Temp \ Test Client Projects \ 10.0 \ 5b6aab8a-6629-4a12-87c2-e9e75ba9c1e4 \ Client.cs(379,13):错误CS0246:找不到类型或命名空间名称’schema’(您是否错过了使用指令或程序集引用?) 以下是Client.cs中上述错误引用的代码 /// [System.CodeDom.Compiler.GeneratedCodeAttribute(“svcutil”, “4.0.30319.1”)] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute(“code”)] [System.Xml.Serialization.XmlTypeAttribute(Namespace=”http://schemas.datacontract.org/2004/07/Microsoft.Synchronization”)] public partial class SyncIdFormatGroup { private schema schemaField; private System.Xml.XmlElement anyField; /// [System.Xml.Serialization.XmlElementAttribute(Namespace=”http://www.w3.org/2001/XMLSchema”, Order=0)] public schema schema { get { return this.schemaField; } set { this.schemaField = value; } } […]

catchedexception如何为null(不是NullReferenceException)?

我遇到了一个相当奇怪的小问题。 在下面的代码中,我无法理解e如何为null ; try { //Some Code here } catch (Exception e) { //Here e is null } 据我所知, throw null将被转换为throw new NullReferenceException() 。 问题似乎与multithreading有关,因为删除另一个线程似乎也解决了它。 或者至少我只在上面的代码在新线程中运行时才看到这个。 整个程序使用很multithreading,有点复杂。 无论如何我的问题是,如何才能为空? – 希望答案可以帮助找到这个问题的根源。 编辑我发现它,因为它在catch语句中导致了NullReferenceException,并且使用调试器我看到同样的事情。 编辑2第二天打开VisualStudio再次尝试,没有代码更改,现在相同的口号被“调用”,但这次e不为空。 看起来这是一个VS故障。

如何检测现有文件导致的System.IO.IOException?

我想创建并打开一个文件,但前提是它不存在。 我不想使用File.Exists,因为一个线程在创建一个具有相同名称的文件后通过切换。 我如何检查exceptionSystem.IO.IOException是否由文件存在引起? 我不想解析错误消息(即使它可以像.indexOf一样简单(“存在”)) 我该怎么做?

关于try-catch块的想法

您对代码的看法如下: public void doSomething() { try { // actual code goes here } catch (Exception ex) { throw; } } 我看到的问题是没有处理实际错误,只是将exception抛在另一个地方。 我发现调试起来比较困难,因为我没有得到实际问题所在的行号。 所以我的问题是为什么这会好? —-编辑—- 从答案来看,大多数人都认为这样做毫无意义,没有捕获自定义或特定exception。 这就是我想要评论的内容,当没有抓住特定的例外时。 我可以看到实际使用捕获的exception执行操作的重点,而不是此代码的方式。

更新对象上下文时发生错误

首先,这里是消息 已成功提交对数据库的更改,但更新对象上下文时发生错误。 ObjectContext可能处于不一致状态。 内部exception消息:发生了引用完整性约束违规:定义引用约束的属性值在关系中的主体和从属对象之间不一致。 当我尝试在entityframework中插入新数据时,会出现问题 我的实体模型 在数据库中,我在删除和更新时将关系设置为级联。 这是我对这种关系所做的唯一改变 我的行动方法: [HttpPost] public ActionResult CompleteRegisteration(RegisterViewModel model) { if (!ModelState.IsValid) { return View(model); } var user = new User { DisplayName = model.DisplayName, FullName = model.Name, Email = model.Email, }; user.AuthenticationTokens.Add(new AuthenticationToken { ClaimedIdentifier = model.ClaimedIdentifier, DisplayName = model.Email }); _userRepository.InsertOrUpdate(user); _userRepository.Save(); return RedirectToAction(“Index”, “Home”); } 和用户存储库方法: private […]

沉默的例外,

我在64位遇到了这个奇怪的静默exception问题。 这是什么造成这种行为? 我想了解为什么会出现这种情况以及推荐的解决方案是什么? 消失的OnLoadexception 微软 – 沉默的例外 KB976038 在主要: try { Application.Run(new Form1()); } catch (Exception ex) { MessageBox.Show(“Error”); } private void Form1_Load(object sender, EventArgs e) { throw new Exception(“oh no!”); }

Visual Studio 2013“中断处理的exception”不起作用,而不是破坏

我在iisexpress.exe上调试一个asp.net应用程序,我已经配置了visual studio 2013来通过exception设置窗口中断用户处理的exception,但是当抛出exception时它仍然没有中断。 当我暂停执行时,我可以在Intellitrace窗口看到很多exception被抛出但是visual studio没有破坏。

有没有办法在没有抛出exception的情况下等待TPL任务?

我们中的一些人更喜欢以exception轻的方式编码。 但是,如果您等待任务并行库任务,并且任务抛出exception,它也会在调用线程上引发exception。 有没有(最好是标准的)方法来避免这种行为,只是在你找回exception时检查exception的响应?

在exception和返回值之间进行选择

我创建了一个从文件中解析一些文档的类。 class Parser { public Parse(string fileName) { /// } } 有时可能会出现解析错误,解析器必须返回某些数据。 我为此创建了特殊课程。 class ParsingError { // some data } 我怎样才能正确处理这些错误。 我至少有两个选择: 创建我自己的exception或返回值。 方案一 myParser.Parse(fileName, out error); 方案二 try { myParser.Parse(fileName) } catch(MyParsingException ex) { // use ex.Error field } UPDATE 如果我没有弄错,那么例外背后的意识形态就是它应该处理一些特殊的东西,这是该方法无意处理的一些情况。 这让我想知道是否例如: 解析器在文件中找到未知字段,或者编码错误 这会被视为特殊情况吗?

我可以在C#中创建一个全局exception处理程序,让代码继续运行吗?

在.NET中,默认的exception处理程序将允许用户继续运行该程序。 但是,我希望有一个全局exception处理程序将堆栈跟踪保存到“errorlog.txt”文件,以便用户可以将其发送给我,而不必记住单击“详细信息”并将其复制出来对话框(并删除所有关于加载的程序集等无用的废话)。 但是当我这样做时,代码不知道如何继续,所以我所能做的就是退出应用程序。 有没有办法让两全其美? (是的,我知道我要求的是基本上是“On Error Resume Next”和日志记录,但我真的觉得它会很有用!)