草庐IT

EXCEPTION

全部标签

c# - 如何向现有的依赖属性回调添加逻辑?

我正在尝试将PropertyChangedCallback添加到UIElement.RenderTransformOriginProperty。当我尝试覆盖PropertyMetadata时抛出异常。我已经搜索了MSDN和Google,我所能想到的是this.DependencyPropertyDescriptor.AddValueChanged在那篇文章的某个时候被建议,但这不会解决我的问题,因为这不是每个实例的回调。我完全不明白这个异常是什么意思。有谁知道我做错了什么?publicclassfoo:FrameworkElement{privatestaticvoidOrigin_C

c# - C# 中是否有用于在给定线程上引发异常的好方法

我想写的代码是这样的:voidMethodOnThreadA(){for(;;){//Dostuffif(ErrorConditionMet)ThrowOnThread(threadB,newMyException(...));}}voidMethodOnThreadB(){try{for(;;){//Dostuff}}catch(MyExceptionex){//Dotherightthingforthisexception.}}我知道我可以让线程B以线程安全的方式定期检查线程A是否设置了标志,但这会使代码更加复杂。我可以使用更好的机制吗?这是一个更具体的定期检查示例:Diction

c# - 使用 Mono Cecil 添加 try-catch

我正在使用MonoCecil在另一个方法中注入(inject)代码。我想在我的代码周围添加一个Try-Catchblock。所以我写了一个带有trycatchblock的HelloWorld.exe并反编译了它。在Reflector中的Try-Catch看起来像这样:.tryL_0001toL_0036catch[mscorlib]System.ExceptionhandlerL_0036toL_003b如何通过monocecil注入(inject)这样的trycatch? 最佳答案 使用Mono.Cecil添加异常处理程序并不困难

c# - 向自定义异常添加额外信息

我为一个可能出错的非常具体的问题创建了一个自定义异常。我从另一个系统接收数据,如果它在尝试解析该数据时发生爆炸,我会引发异常。在我的自定义异常中,我添加了一个名为“ResponseData”的字段,因此我可以准确跟踪我的代码无法处理的内容。在像这个这样的自定义异常中,额外的响应数据是否应该进入异常“消息”?如果它去那里,信息可能是巨大的。我有点想要它在那里,因为我正在使用Elmah,这就是我获取该数据的方式。所以问题是:-如何让Elmah在自定义异常中记录来自字段的额外信息要么-是否应将额外的异常详细信息放入“消息”属性? 最佳答案

c# - 是否出于与 Try-Catch 相同的原因而谨慎使用 Try-Finally?

我刚看完thisarticle关于异常的优点和缺点,我同意Try-Catchblock不应该用于“正常”控制流管理的观点(不要像goto一样使用它们)。然而,一位作者提出了关于可维护性,尤其是性能的(好的)观点,这让我对Try-Finallyblock中的同一件事感到疑惑。我在我的ASP.NET应用程序中用Try包围每个连接打开事件,这样我就可以确保在Finally中关闭连接。泄漏连接在网络应用程序中显然不是一件好事,我怀疑我会改变这种做法,但你有什么想法?注意:我确实将连接包装在DAL中,并且可以在调用对象析构函数时关闭连接,但这对我来说似乎很粗略。据我所知,您不能指望在发生异常时调

c# - 在 C# 中使用 GDAL 时出现异常

我开始在我的应用程序中使用gdal_csharpdll并读取一个geotiff文件。但它说:Thetypeinitializerfor'OSGeo.GDAL.GdalPINVOKE'threwanexception.这是我的代码stringfileName=@"/pathtogeotifffile";OSGeo.GDAL.DatasetDS=OSGeo.GDAL.Gdal.Open(fileName,OSGeo.GDAL.Access.GA_ReadOnly);谁能帮忙?编辑:我有这些dll这是完整的错误信息:它说无法加载gdal_wrap。但是当我要将该dll添加到我的应用程序时,会

c# - 当这么多事情都可能出错时,你所做的就是尝试,尝试,尝试

说真的,你怎么能在不发疯的情况下处理所有这些异常呢?我是不是读了太多关于异常处理的文章或什么?我尝试重构了几次,但每次似乎都以更糟糕的结果告终。也许我应该承认确实会发生异常(exception)情况,并且只是享受编写代码的快乐之路?;)那么这段代码有什么问题(除了我懒得只是抛出Exception而不是更具体的东西这一事实之外)?无论如何,不​​要对我好过。publicvoidExport(DatabasedstDb){try{using(DbConnectionconnection=dstDb.CreateConnection()){connection.Open();DbTransa

c# - 异常处理——显示错误发生的行号?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Showlinenumberinexceptionhandling谁能告诉我如何获取发生错误的代码的行号并将其显示到控制台?文件名或方法名等其他信息会非常方便。

c# - 在 C# 中,我如何知道要捕获哪些异常?

我已经养成了使用通用catch语句的习惯,并且我以通用方式处理这些异常。这是不好的做法吗?如果是这样,我如何知道可以抛出哪些特定异常以及捕获哪些异常? 最佳答案 是的,除了在一些非常特殊的情况下这是不好的做法。我能想到的一个常见情况是,捕获所有异常并不是一个糟糕的主意,当您在应用程序即将自行关闭之前记录一条消息或堆栈跟踪(或者,也许,您正在记录并重新抛出)。只捕获您知道可以处理的异常。不多也不少。如果您不知道可以从方法中抛出异常,那么无论如何您都不会正确处理它,所以不要捕获它。方法和库负责记录您应该能够处理的异常。此外,不要捕获指示

c# - string.split() "Out of memory exception"读取制表符分隔文件时

我在我的C#代码中使用string.split()来读取制表符分隔的文件。我正面临下面代码示例中提到的“OutOfMemory异常”。这里我想知道为什么文件大小为16MB时会出现问题?这是正确的方法吗?using(StreamReaderreader=newStreamReader(_path)){//...........Loadthefirstlineofthefile................stringheaderLine=reader.ReadLine();MeterDataIPValueListobjMeterDataList=newMeterDataIPValueL