我已经阅读并了解Try/Catchblock的作用以及使用它的重要性。但我一直想知道何时何地使用它们。有什么建议吗?我将在下面发布我的代码示例,希望有人有时间为我的示例提出一些建议。publicAMPFileEntity(stringfilename){transferFileListtfl=newtransferFileList();_AMPFlag=tfl.isAMPFile(filename);_requiresPGP=tfl.pgpRequired(filename);_filename=filename.ToUpper();_fullSourcePathAndFilename
我想编写一些try和catch来捕获任何类型或异常,这段代码是否足够(这就是Java中的做法)?try{code....}catch(Exceptionex){}或者应该是try{code....}catch{}? 最佳答案 这两种方法都会捕获所有异常。您的两个代码示例之间没有显着差异,只是第一个代码示例会生成编译器警告,因为ex已声明但未使用。但请注意,有些异常是特殊的,会自动重新抛出。ThreadAbortExceptionisaspecialexceptionthatcanbecaught,butitwillautomatic
我想编写一些try和catch来捕获任何类型或异常,这段代码是否足够(这就是Java中的做法)?try{code....}catch(Exceptionex){}或者应该是try{code....}catch{}? 最佳答案 这两种方法都会捕获所有异常。您的两个代码示例之间没有显着差异,只是第一个代码示例会生成编译器警告,因为ex已声明但未使用。但请注意,有些异常是特殊的,会自动重新抛出。ThreadAbortExceptionisaspecialexceptionthatcanbecaught,butitwillautomatic
关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭去年。Improvethisquestion在我的MVVM程序中,我有一个模型类(比如MyModel),我从中有一个从数据库读取的实例(使用EntityFramework)。检索对象时,我将所有数据呈现给用户。稍后用户将修改一些字段。我想要的是创建相同的对象,除了它的ID(因为ID是主键并且自动递增
关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭去年。Improvethisquestion在我的MVVM程序中,我有一个模型类(比如MyModel),我从中有一个从数据库读取的实例(使用EntityFramework)。检索对象时,我将所有数据呈现给用户。稍后用户将修改一些字段。我想要的是创建相同的对象,除了它的ID(因为ID是主键并且自动递增
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我知道..我知道...性能不是这里的主要关注点,只是出于好奇,什么更好?boolparsed=int.TryParse(string,outnum);if(parsed)...或try{int.Parse(string);}catch(){dosomething...}
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我知道..我知道...性能不是这里的主要关注点,只是出于好奇,什么更好?boolparsed=int.TryParse(string,outnum);if(parsed)...或try{int.Parse(string);}catch(){dosomething...}
假设有一个创建用户的操作。如果存在指定的电子邮件或用户名,此操作可能会失败。如果它失败了,则需要确切地知道原因。在我看来,有三种方法可以做到这一点,我想知道是否有明显的赢家。所以,这是一个类用户:classUser{publicstringEmail{get;set;}publicstringUserName{get;set;}}创建操作有3种方式:测试创建if(UserExists(user))actonuserexistserror;if(UsernameExists(user))actonusernameexistserror;CreateUser(user);UserExist
假设有一个创建用户的操作。如果存在指定的电子邮件或用户名,此操作可能会失败。如果它失败了,则需要确切地知道原因。在我看来,有三种方法可以做到这一点,我想知道是否有明显的赢家。所以,这是一个类用户:classUser{publicstringEmail{get;set;}publicstringUserName{get;set;}}创建操作有3种方式:测试创建if(UserExists(user))actonuserexistserror;if(UsernameExists(user))actonusernameexistserror;CreateUser(user);UserExist
在某些情况下是否适合使用try-finallyblock而不使用catchblock? 最佳答案 您可以使用它来确保某些操作发生在try内容之后或发生异常时,但您不希望使用该异常。需要说明的是,这并没有隐藏异常。finallyblock在异常传播到调用堆栈之前运行。当你使用using关键字时,你也会无意中使用它,因为这会编译成一个try-finally(不是一个精确的转换,但为了论证它是足够接近)。try{TrySomeCodeThatMightException();}finally{CleanupEvenOnFailure();