Tag: 线程exception

iOS崩溃日志中的exceptiontypes

自从我开始学习iOS开发以来,我已经看到了几种不同types的崩溃日志。 我知道: exceptiontypes:EXC_BAD_ACCESS(SIGSEGV)意味着我们正在访问一个释放的对象。 但不知道: exceptiontypes:EXC_BAD_ACCESS(SIGBUS) exceptiontypes:EXC_CRASH(SIGABRT) 例外types:EXC_BREAKPOINT(SIGTRAP) 你知道iOS崩溃日志中有多less个exceptiontypes,它们是什么意思?

Ruby:捕捉exception后继续循环

基本上,我想要做这样的事情(用Python或类似的命令式语言): for i in xrange(1, 5): try: do_something_that_might_raise_exceptions(i) except: continue # continue the loop at i = i + 1 我如何在Ruby中做到这一点? 我知道有redo和retry关键字,但他们似乎重新执行“try”块,而不是继续循环: for i in 1..5 begin do_something_that_might_raise_exceptions(i) rescue retry # do_something_* again, with same i end end

如何发信号“尚未实施”?

在最初起草一个新的gem,我需要留下一些方法实现为空(将在下一个实施) 因此,我想表示一个“尚未实施”的例外 我想知道是否有一种特定于Ruby语言的最佳实践或标准约定来编写这种占位符/例外。 即:像这样的东西: Java中的UnsupportedOperationException .Net Framework(C#)中的NotImplementedException

处理dynamic时引发大量的Microsoft.CSharp.RuntimeBinderExceptions

我在C#中有一个标准的“dynamic词典”types的类 – class Bucket : DynamicObject { readonly Dictionary<string, object> m_dict = new Dictionary<string, object>(); public override bool TrySetMember(SetMemberBinder binder, object value) { m_dict[binder.Name] = value; return true; } public override bool TryGetMember(GetMemberBinder binder, out object result) { return m_dict.TryGetValue(binder.Name, out result); } } 现在我称之为: static void Main(string[] args) { dynamic d = new Bucket(); […]

重新提高Pythonexception并保留堆栈跟踪

我试图捕捉一个线程中的exception,并重新在主线程中提出: import threading import sys class FailingThread(threading.Thread): def run(self): try: raise ValueError('x') except ValueError: self.exc_info = sys.exc_info() failingThread = FailingThread() failingThread.start() failingThread.join() print failingThread.exc_info raise failingThread.exc_info[1] 这基本上工作,并产生以下输出: (<type 'exceptions.ValueError'>, ValueError('x',), <traceback object at 0x1004cc320>) Traceback (most recent call last): File "test.py", line 16, in <module> raise failingThread.exc_info[1] 但是,例外的来源指向第16行,在那里发生了重新抬头。 原来的exception来自第7行。我如何修改主线程,以便输出结果如下: Traceback (most recent call last): File […]

在构造函数中抛出ArgumentNullException?

对于具有单个参数的构造函数,如果参数为null / empty,那么在构造函数中抛出ArgumentNullException是否可以? 或者,是否应该在实际使用该方法的方法中抛出? 谢谢。

意外的types – 序列化exception

我有一个WCF服务。 正常的操作会看到服务器正在执行一些处理,通过callback函数将填充的XactTaskIn对象返回给客户端。 我有这个工作确定。 我的问题是,当我尝试将returnDatavariables设置为已填充的XactException并尝试通过callback将XactTaskIn发送回客户端时,出现以下exception。 exception – “不希望使用数据协定名称”XactException:http://schemas.datacontract.org/2004/07/“键入'XactException'。考虑使用DataContractResolver或将静态未知的任何types添加到已知types列表 – 例如,使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知types的列表中。 (System.Runtime.Serialization.SerializationException)exception消息=“types'XactException'与数据协定名称'XactException:http://schemas.datacontract.org/2004/07/'不是预期的考虑使用DataContractResolver或添加任何types不知道静态到已知types的列表 – 例如,通过使用KnownTypeAttribute属性或通过将它们添加到传递给DataContractSerializer的已知types的列表“,Exception Type =”System.Runtime.Serialization.SerializationException“ 这是XactTaskIn类 [DataContract] public class XactTaskIn { [DataMember] public DateTime timeOut; [DataMember] public DateTime timeIn; [DataMember] public string name; [DataMember] public string responseTo; [DataMember] public String moduleFromName; [DataMember] public String moduleFromType; [DataMember] public String methodFromName; [DataMember] public object[] originalInputs; [DataMember] public String […]

Java如果与try / catch开销

Java中有没有使用try / catch块的开销,而不是一个if块 (假设所附的代码否则不要求这样做)? 例如,对于string采取以下两个“安全修剪”方法的简单实现: public String tryTrim(String raw) { try { return raw.trim(); } catch (Exception e) { } return null; } public String ifTrim(String raw) { if (raw == null) { return null; } return raw.trim(); } 如果rawinput只是很less为null ,这两种方法之间是否存在性能差异 ? 此外,使用tryTrim()方法来简化代码布局是一个很好的编程模式 ,特别是通过在一个try / catch块中封装代码,可以避免很多if块检查罕见的错误情况? 例如,通常情况下,有一个N parameters的方法,如果任何这样的参数是“无效的”(例如空string或空string),则在其起点附近使用M <= N ,快速失败并确定性地执行。而不影响其余的代码。 在这种情况下, 如果块 ( k是每个参数的平均检查次数,例如k […]

什么“扔”本身呢?

可能重复: 抛出和抛出新的exception() 什么是刚才有点 catch (Exception) { throw; } 这是做什么的?

C#:如何检查我的unit testing中没有发生exception?

我正在为这个返回“void”的方法写一个unit testing。 我想有一个案例,testing通过时,没有exception抛出。 我如何在C#中编写? Assert.IsTrue(????) (我的猜测是这是我应该检查,但什么进入“???”) 我希望我的问题很清楚。