草庐IT

try-exception

全部标签

c# - 如果 Exception 过滤器的过滤器抛出异常会发生什么

我还没有使用过C#6,但我想知道......正如标题所说“如果Exception过滤器的过滤器抛出异常会发生什么?”。我想真正的答案是“过滤器应该以永远不会抛出异常的方式编写。”,但可以说它确实如此。会不会好像异常发生在捕获本身内部?try{thrownewException("ForcedException");}catch(Exceptionex)when(MethodThatThrowsAnException()){WriteLine("Filteredhandler1");}catch(Exceptionex){WriteLine("Filteredhandler2");}或者

c# - 如何在c#中使用列表中的Except方法

我已经创建了一个两个int类型的列表,并使用except方法将仅在list1中的项目分配给list1。例如Listlist1=newList();Listlist2=newList();list1={1,2,3,4,5,6}//getitemsfromthedatabaselist2={3,5,6,7,8}//getitemsfromthedatabaselist1=list1.Except(list2);//givesmeanerror.请给我建议。什么是正确的做法。 最佳答案 Except方法返回IEnumerable,需要将结

c# - 为什么我可以将 sbyte 与所有其他数字类型*except* ulong 进行比较?

您可以在sbyte和byte、int、uint、short、ushort、long、double和float之间进行>、我的大脑在爆炸。谁能解释为什么sbyte可以与uint相比,但不是ulong?publicboolsbyte_ulong_compare(sbytex,ulongy){returnx此外,使用unchecked不会让事情变得更好。大脑融化。另一个编辑。这有效:publicboolsbyte_ulong_compare(sbytex,ulongy){////returnsx127)returntrue;return((long)x 最佳答案

c# - 不使用 try/catch 检查格式正确的 XML?

有谁知道如何在try/catchblock中不使用XmlDocument.LoadXml()之类的东西来检查字符串是否包含格式正确的XML?我得到的输入可能是XML,也可能不是XML,我希望代码能够识别输入可能不是XML而不依赖于try/catch,以提高速度和一般原则,即非特殊情况不应引发异常(exception)。我目前有执行此操作的代码;privateboolIsValidXML(stringvalue){try{//Checkweactuallyhaveavalueif(string.IsNullOrEmpty(value)==false){//Trytoloadthevalu

c# - System.Exception.Data 属性

System.Exception类(实际上是任何异常)具有几乎总是空的Data属性。在抛出异常时,这个字段应该有用吗?或者它是否有一些我不知道的内部用途? 最佳答案 documentation它的用途似乎很清楚(添加了重点):Getsacollectionofkey/valuepairsthatprovideadditionaluser-definedinformationabouttheexception.为什么它首先存在?我认为这与Control具有Tagproperty的原因相同.在.NET的早期(在每个Bob和Betty程序

c# - 如何使用try-catch获取代码的错误行号

我想获取导致错误的代码的行号。例如;staticvoidMain(string[]args){using(SqlConnectionconn=newSqlConnection(bagcum)){SqlCommandcmd=conn.CreateCommand();cmd.CommandText="DONTINSERTintoGIVEMEERROR(CamNo,Statu)values("+23+","+0+")";conn.Open();intn=cmd.ExecuteNonQuery();}}所以我们知道代码不起作用,它会抛出异常代码的行号是:intn=cmd.ExecuteNonQ

c# - 我可以将 Linq 的 Except() 与 lambda 表达式比较器一起使用吗?

我知道我可以调用linq的Except并指定一个自定义的IEqualityComparer,但是为每个数据类型实现一个新的Comparer类似乎有点矫枉过正。我可以使用lambda表达式来提供相等函数,就像我使用Where或其他LINQ函数时一样吗?如果我不能,是否有其他选择? 最佳答案 对于任何仍在寻找的人;这是实现自定义lambda比较器的另一种方法。publicclassLambdaComparer:IEqualityComparer{privatereadonlyFunc_expression;publicLambdaCom

c# - 我应该在 C# 中多久使用一次 try 和 catch?

在编写其第一优先级是永不崩溃的C#应用程序时,我应该多久使用一次try-catchblock?我可以将一个方法中的所有语句封装在try-catchblock中吗?publicvoidSomeMethod(){try{//entirecontentsofthefunction//librarycalls//functioncalls//variableinitialization..etc}catch(Exceptione){//recover}}将所有内容包装在try-catchblock中有什么缺点? 最佳答案 唯一的缺点是在实际

c# - System.IO.Exception 错误 : "The requested operation cannot be performed on a file with a user-mapped section open."

我在写入XML文件时收到一个非常奇怪的IOException:System.IO.IOException:Therequestedoperationcannotbeperformedonafilewithauser-mappedsectionopen.atSystem.IO.__Error.WinIOError(Int32errorCode,StringmaybeFullPath)atSystem.IO.FileStream.Init(Stringpath,FileModemode,FileAccessaccess,Int32rights,BooleanuseRights,FileSh

c# - 客户端和服务器无法通信,因为它们不具备通用算法 - ASP.NET C# IIS TLS 1.0/1.1/1.2 - Win32Exception

我对C#PayTrace网关有疑问。下面的代码在昨天之前工作正常,当时我相信他们由于PoodleExploit而关闭了SSL3。运行下面的代码时,我们收到以下消息。远程服务器已强行关闭连接。在对该问题进行一些研究后,我们确定由于我们的IISServer7.5配置为仍使用SSL3,因此C#默认为SSL3,PayTrace将强行关闭连接。然后我们从服务器中删除了SSL3。然后导致以下错误:客户端和服务器无法通信,因为它们不具备通用算法。我的猜测是,既然SSL3已被删除,我们还需要在服务器上安装额外的SSL算法。我们的IT人员声称TLS1.1和TLS1.2正在运行,并且ASP.NET现在应该