草庐IT

异常切换

全部标签

c# - 如何在没有 "process has exited"异常的情况下终止进程?

我使用Process.Kill()来终止进程。像这样:if(!process.WaitForExit(5000)){process.Kill();}有时进程会在两行之间退出,所以控制会进入if然后Kill会产生异常:System.InvalidOperationExceptionCannotprocessrequestbecausetheprocess(ProcessIdHere)hasexited.atSystem.Diagnostics.Process.GetProcessHandle(Int32access,BooleanthrowIfExited)atSystem.Diagno

c# - 加载程序集 Xamarin.Android.Support.v4 时出现异常

我正在使用Xamarin.Forms开发visualstudio,我收到以下错误:Exceptionwhileloadingassemblies:System.IO.FileNotFoundException:Couldnotloadassembly'Xamarin.Android.Support.v4,Version=1.0.0.0,Culture=neutral,PublicKeyToken='.Perhapsitdoesn'texistintheMonoforAndroidprofile?Filename:'Xamarin.Android.Support.v4.dll'atXam

c# - 在代码中使用 '"using"关键字时,我应该在哪里捕获异常?

哪个在结构上更好?classProgram{staticvoidMain(string[]args){try{using(Foof=newFoo()){//somecommandsthatpotentiallyproduceexceptions.}}catch(Exceptionex){Console.WriteLine(ex.Message);}}}或者...classProgram{staticvoidMain(string[]args){using(Foof=newFoo()){try{//somecommandsthatpotentiallyproduceexceptions.

c# - 防止来自 3rd 方组件的异常使整个应用程序崩溃

我正在编写一个依赖于某些第三方DLL的多线程应用程序。我的问题是,当使用第三方库中的对象时,如果它在运行时引发异常,我无法捕获它并且它会冒泡并杀死整个应用程序。我有许多不同的线程,每个线程都使用来自第三方库的自己的对象,我需要使用该对象副本的线程能够捕获和处理异常。根据我所读到的内容,似乎第3方库实际上正在创建自己的线程并允许未捕获的异常。.NET2.0+行为允许这些异常终止整个应用程序。我知道AppDomain.CurrentDomain.UnhandledException,但这不允许您阻止应用程序关闭。作为引用,我正在.NET4.0中编写一个控制台应用程序。有没有人有任何解决方案

c# - 尝试从 WinJS 读取 C# WinRT 组件中的空字符串时出现异常

我有以下场景:C#中的数据库编译为Windows运行时组件。它的一个类是这样的:publicsealedclassMyData{stringTheGoods{get;privateset;}}UI在WinJS中,我有以下内容:varb=dataInstance.theGoods;问题是我得到一个异常并且属性中包含以下内容:System.ArgumentNullException异常在System.StubHelpers.HStringMarshaler.ConvertToNative(字符串管理)查看HStringMarshaler.ConvertToNative的实现,如果字符串为n

c# - Silverlight 切换按钮分组

我正在开发一个Silverlight应用程序,我想创建一个由5个切换按钮(用于菜单选项)组成的分组,这些按钮在被单击时会产生动画效果(尺寸会增大),并且还会导致组中任何之前单击的按钮取消单击并产生动画效果回到缩小后的尺寸。我知道我可以使用蛮力方法,让应用程序直接知道每个按钮,但如果我添加或更改菜单(添加/删除按钮),我必须记住修改代码(这是不好,因为我很健忘)。有没有一种方法可以更智能地对按钮进行分组,以便在单击一个按钮时可以告诉组中的所有其他按钮取消单击?谢谢!托德 最佳答案 特别感谢MichaelS.Scherotter为我指明

c# - 如何在托管 C++ 中捕获非托管 C++ 异常

我正在一个大型非托管C++库和一个大型C#库上开发一个瘦托管C++包装器。我需要捕获源自大型非托管C++库的错误,并将它们作为Clr异常重新抛出。非托管库抛出以下类的实例:Error::Error(conststd::string&file,longline,conststd::string&function,conststd::string&message){message_=boost::shared_ptr(newstd::string(format(file,line,function,message)));}constchar*Error::what()constthrow(

c# - 在 C# 中处理文件时如何正确处理异常

我已经阅读了许多关于正确异常处理的博客/文章/书籍章节,但我仍然不清楚这个主题。我将尝试用以下示例说明我的问题。考虑具有以下要求的类方法:接收文件路径列表作为参数读取每个文件的文件内容,如果尝试这样做有任何问题则跳过返回表示文件内容的对象列表所以规范很简单,下面是我如何开始编码:publicclassFileContent{publicstringFilePath{get;set;}publicbyte[]Content{get;set;}publicFileContent(stringfilePath,byte[]content){this.FilePath=filePath;thi

c# - 将 excel 数据粘贴到空白 DataGridView - 索引超出范围异常

我有一个包含以下内容的excel表:所以,我想要实现的是从Excel中复制它并将其粘贴到空白的DataGridViewView中。这是我目前的代码:privatevoidPasteClipboard(DataGridViewmyDataGridView){DataObjecto=(DataObject)Clipboard.GetDataObject();if(o.GetDataPresent(DataFormats.Text)){string[]pastedRows=Regex.Split(o.GetData(DataFormats.Text).ToString().TrimEnd("

c# - 为什么未等待的异步方法不抛出异常?

我认为异步方法在到达等待之前应该像普通方法一样表现。为什么这不会抛出异常?有没有办法在不等待的情况下抛出异常?usingSystem;usingSystem.Threading.Tasks;publicclassTest{publicstaticvoidMain(){vart=newTest();t.Helper();}publicasyncTaskHelper(){thrownewException();}} 最佳答案 async方法中抛出的异常按照设计存储在返回的任务中。要获得异常,您可以:await任务:awaitt.Help