在我更新swift2.0后,do{try}catch出现错误,如下图所示。我该如何解决这个问题?谢谢! 最佳答案 错误告诉您封闭的catch并不详尽。这是因为自动生成的catchblock只捕获NSError对象,编译器无法判断是否会抛出其他一些ErrorType.如果您确定不会抛出其他错误,您可以添加另一个默认的catchblock:do{objects=trymanagedObjectContext?.executeFetchRequest(request)}catchleterror1asNSError{error=error
考虑以下几点:try{FileStreamfileStream=newFileStream("C:\files\file1.txt",FileMode.Append);}catch(DirectoryNotFoundExceptione){MessageBox.Show("Directorynotfound."+e.Message);}catch(IOExceptione){MessageBox.Show("OtherIOError."+e.Message);}catch(Exceptione){MessageBox.Show("OtherError."+e.Message);}Dir
简单的最佳实践问题。你应该嵌套trycatch语句还是只使用方法。例如,如果您有一个打开文件的方法确实有效并关闭了文件,您将在trycatch之外进行打开和关闭,或者更确切地说,在finallyblock中进行关闭。现在,如果您的open方法失败,该方法会断言吗?那么你应该将它包装在一个trycatchblock中,还是应该从另一个方法调用,而这个方法又作为一个trycatchblock? 最佳答案 在打开文件的方法的上下文中,我会使用using语句而不是trycatch。using语句确保在发生异常时调用Dispose。using
有人可以向我解释为什么在main()方法中使用try-catch来捕获任何未处理的异常被认为是不合适的吗?[STAThread]staticvoidMain(){try{Application.Run(newForm1());}catch(Exceptione){MessageBox.Show("Generalerror:"+e.ToString());}}我知道这是不好的做法,但不确定为什么。 最佳答案 我不认为它一定是不好的做法。然而,有一些注意事项......我相信无论谁称此为“不良做法”,其目的都是为了强化这样一种观念,即您
语法会因语言而异,但这是一个普遍的问题。这有什么区别....try{Console.WriteLine("Executingthetrystatement.");thrownewNullReferenceException();}catch(NullReferenceExceptione){Console.WriteLine("{0}Caughtexception#1.",e);}finally{Console.WriteLine("Executingfinallyblock.");}还有这个....try{Console.WriteLine("Executingthetrystate
我有一个类,其中包含大约20多个方法。每个都进行一些Web服务消息处理。我只需要对其进行更改,并意识到这些方法中的每一个都有完全相同的try/catch:try{/****actualprocessingspecifictoeachmethodgoeshere****/}catch(FaultExceptioncfex){//commonstuff}catch(CustomExceptioncfex){//commonstuff}catch(Exceptionex){//commonstuff}finally{FinalizeServiceCall(wsBus,wsMessage,re
我有一个包含大约200多个方法的类,这些方法中的每一个都会调用数据库或网络资源。理想情况下,我想将每个调用包装在一个try/catch中,以捕获任何常见的网络或SQL异常,并让用户有机会重试(如果合适)。但是,将此代码添加到每个调用将非常耗时,并且就代码而言是臃肿的。我考虑过将每个方法调用包装在另一个方法中,创建一个委托(delegate),然后将委托(delegate)代码包装在try/catch中……就像这样……(忽略语法..这只是一个概念性的例子)boolCallUpdatePassenger(intPassengerId,stringPassengerName,stringPh
考虑这个场景:我有3层应用程序,当用户单击按钮时,按钮事件处理程序调用业务层中的一个方法,该方法对我的按钮事件处理程序提供的数据执行任何操作,然后将该数据传递给数据访问层,数据访问层将它们发送到后端数据库。问题是把trycatch放在哪里?在数据层、业务层、表示层还是将它放在所有这些层中?在这种情况下表示异常处理的最佳策略是什么? 最佳答案 我们跟随Donotcatchexceptionsifyoudonotknowwhattodowithit.我们从不处理任何我们无法处理或默认的异常。它冒泡了,我们在应用程序级别处理它。比如说,如
我有以下代码:HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url);request.Method="HEAD";request.Credentials=MyCredentialCache;try{request.GetResponse();}catch{}如何捕获特定的404错误?WebExceptionStatus.ProtocolError只能检测到有错误发生,并不能给出错误的具体代码。例如:catch(WebExceptionex){if(ex.Status!=WebExceptionStatus.Protoco
这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Dotry/catchblockshurtperformancewhenexceptionsarenotthrown?大家好,只是一个关于try..catchblock的快速问题。我听说它们使用起来很昂贵,不应该用作程序流程的一部分。但是,为了验证电子邮件地址,我使用了以下代码。try{MailAddresscheckEmail=newMailAddress(testEmail);returntrue;}catch{returnfalse;}由于事先进行了验证,所以我不会捕获很多异常,除非是试图绕过验证。我的