草庐IT

try-Catch

全部标签

c# - 什么时候使用 try/catch block ?

我已经阅读并了解Try/Catchblock的作用以及使用它的重要性。但我一直想知道何时何地使用它们。有什么建议吗?我将在下面发布我的代码示例,希望有人有时间为我的示例提出一些建议。publicAMPFileEntity(stringfilename){transferFileListtfl=newtransferFileList();_AMPFlag=tfl.isAMPFile(filename);_requiresPGP=tfl.pgpRequired(filename);_filename=filename.ToUpper();_fullSourcePathAndFilename

c# - 什么时候使用 try/catch block ?

我已经阅读并了解Try/Catchblock的作用以及使用它的重要性。但我一直想知道何时何地使用它们。有什么建议吗?我将在下面发布我的代码示例,希望有人有时间为我的示例提出一些建议。publicAMPFileEntity(stringfilename){transferFileListtfl=newtransferFileList();_AMPFlag=tfl.isAMPFile(filename);_requiresPGP=tfl.pgpRequired(filename);_filename=filename.ToUpper();_fullSourcePathAndFilename

c# - 实现死锁异常的重试逻辑

我已经实现了一个通用存储库,想知道是否有一种智能方法可以在发生死锁异常时实现重试逻辑?所有存储库方法的方法应该相同。那么我是否可以避免在每个方法中都编写“try/catch-使用重试计数再次调用方法”?欢迎提出任何建议。我的一些存储库代码:publicclassGenericRepository:IRepository{privateObjectContext_context;publicListExecuteStoreQuery(stringcommandText,paramsobject[]parameters)whereTEntity:class{ListmyList=newLi

c# - 实现死锁异常的重试逻辑

我已经实现了一个通用存储库,想知道是否有一种智能方法可以在发生死锁异常时实现重试逻辑?所有存储库方法的方法应该相同。那么我是否可以避免在每个方法中都编写“try/catch-使用重试计数再次调用方法”?欢迎提出任何建议。我的一些存储库代码:publicclassGenericRepository:IRepository{privateObjectContext_context;publicListExecuteStoreQuery(stringcommandText,paramsobject[]parameters)whereTEntity:class{ListmyList=newLi

c# - 无法访问 SqlTransaction 对象以在 catch block 中回滚

我遇到了一个问题,我找到的所有文章或示例似乎都不关心它。我想在事务中执行一些数据库操作。我想做的与大多​​数示例非常相似:using(SqlConnectionConn=newSqlConnection(_ConnectionString)){try{Conn.Open();SqlTransactionTrans=Conn.BeginTransaction();using(SqlCommandCom=newSqlCommand(ComText,Conn)){/*DBwork*/}}catch(ExceptionEx){Trans.Rollback();return-1;}}但问题是Sq

c# - 无法访问 SqlTransaction 对象以在 catch block 中回滚

我遇到了一个问题,我找到的所有文章或示例似乎都不关心它。我想在事务中执行一些数据库操作。我想做的与大多​​数示例非常相似:using(SqlConnectionConn=newSqlConnection(_ConnectionString)){try{Conn.Open();SqlTransactionTrans=Conn.BeginTransaction();using(SqlCommandCom=newSqlCommand(ComText,Conn)){/*DBwork*/}}catch(ExceptionEx){Trans.Rollback();return-1;}}但问题是Sq

c# - 识别处理程序 Catch block 中的异常类型

我已经创建了自定义异常类publicclassWeb2PDFException:Exception{publicWeb2PDFException(stringmessage,ExceptioninnerException):base(message,innerException){...}}在我的应用程序中,如何确定它是否是我的自定义异常?try{...}catch(Exceptionerr){//Findexceptiontypehere} 最佳答案 在处理我不完全知道某个方法可能会出现什么类型的异常的情况时,我喜欢做的一个小“技

c# - 识别处理程序 Catch block 中的异常类型

我已经创建了自定义异常类publicclassWeb2PDFException:Exception{publicWeb2PDFException(stringmessage,ExceptioninnerException):base(message,innerException){...}}在我的应用程序中,如何确定它是否是我的自定义异常?try{...}catch(Exceptionerr){//Findexceptiontypehere} 最佳答案 在处理我不完全知道某个方法可能会出现什么类型的异常的情况时,我喜欢做的一个小“技

解决:RuntimeError: CUDA out of memory. Tried to allocate 160.00 MiB (GPU 0; 10.76 GiB total capacity..

完整报错:RuntimeError:CUDAoutofmemory.Triedtoallocate160.00MiB(GPU0;10.76GiBtotalcapacity;9.58GiBalreadyallocated;135.31MiBfree;9.61GiBreservedintotalbyPyTorch) 问题分析:内存分配不足:需要160MB,,但GPU只剩下135.31MB。解决办法:1.减小batch_size。注意batchsize的调整要配合学习率的调整,一般是正比关系,BS增大两倍,LR增大两倍或者根号二倍。减小也是相应更改。2.运行torch.cuda.empty_cach

c# - 在同一个 catch block 中捕获两个异常?

我有一个方法可以抛出两个不同的异常,CommuncationException和SystemException。在这两种情况下,我都使用相同的三行代码块。try{...}catch(CommunicationExceptionce){...}catch{SystemExcetionse){...}有没有可能那样做?try{...}catch(CommunicationExceptionce,SystemExceptionse){...}那我就不用写这么多代码了。我知道我可以将异常处理提取到一个私有(private)方法中,但由于代码只有3行,方法定义将比主体本身需要更多的代码。