【c# – 找不到为什么我有一个空引用异常】教程文章相关的互联网学习教程文章

c# – 如何让反序列化在非整数上抛出异常,期望一个int?【代码】

我试图将json(例如id:4.5)中的十进制值解析为poco int,我想要一个异常. 背景: 当遇到期望int的小数时,此反序列化会抛出Newtonsoft.Json.JsonSerializationException:httpContent.ReadAsAsync<MyCollection<T>>(mediaTypeFormatters,cancellationToken);MyCollection的&LT T&GT是一个列表类型为T的结果的类,T可以有一个int.现在,我想抓住扔掉并保留其余部分的那些.所以我首先将它作为JObject的集合提取,然后在try-catch中逐个解析...

最佳实践:在C#.net中存储异常/错误或信息性消息以进行国际化的最佳方法是什么?【代码】

当向最终用户抛出自定义异常或发出消息时,可以使用硬编码字符串(包括字符串常量),使用仅资源程序集或从数据库中的表中获取字符串. 我希望我的应用程序能够轻松切换到另一种语言,而无需重新编译.虽然将字符串资源存储在程序集或数据库中会实现此目的,但它增加了程序逻辑的复杂性,进而增加了产品的成本. 我的问题是:在不忽略每个选项带来的成本的情况下,考虑目标的最佳方法是什么?如果你的练习比列出的更好,我很乐意听. 技术:操作...

c# – 如何使用完整调用堆栈记录异常?【代码】

我想使用ELMAH来记录异常(不会将其一直抛到调用堆栈上)并记录整个调用堆栈. 示例代码:protected void Page_Load(object sender, EventArgs e){DoSomething();}private void DoSomething(){try { TrySomething(); }catch (Exception ex) { LogException(ex); }}private void TrySomething(){throw new NotImplementedException();}public static void LogException(Exception ex){var currentStack = new System.Diagnostics.Stack...

c# – ReportViewer.PrintDialog()在打印到Adobe PDF时抛出异常【代码】

我正在使用WinForms应用程序,该应用程序使用ReportViewer控件显示一些Reporting Services报告.在这些屏幕上,我们允许用户通过调用ReportViewer上的PrintDialog()方法来打印报表,如下所示:_reportViewer.PrintDialog();这在大多数情况下工作正常,它会打开标准的Windows打印对话框,用户选择要打印的打印机,然后进行打印.但是,当用户选择使用“Adobe PDF”打印到PDF时,它会抛出Win32Exception:指定的数据类型无效.用于选择保存pdf的...

C# 异常统一处理方式【代码】

Exception 统一处理using System; using System.Collections.Generic; using System.Text;namespace WUtility.Common {public class ActionHelper{private static Action<Exception> _dealException;public static event Action<Exception> DealException{add { _dealException += value; }remove { if (_dealException != null) _dealException -= value; }}/// <summary>/// 通用的异常处理/// </summary>/// <param name="actio...

如何在C#中处理多播委托中的异常?【代码】

我已经获得了一些我通过多播委托调用的代码. 我想知道如何能够赶上并管理那里提出的任何异常,目前还没有进行管理.我无法修改给定的代码. 我一直在环顾四周,发现需要调用GetInvocationList(),但不确定这是否有用.解决方法:考虑使用GetInvocationList的代码:foreach (var handler in theEvent.GetInvocationList().Cast<TheEventHandler>()) {// handler is then of the TheEventHandler typetry {handler(sender, ...);} catch (Ex...

在C#(或一般的.NET)中,您是否可以屏蔽通过属性抛出异常的调用堆栈级别?【代码】

标题可能有点令人困惑,所以我会解释.说你有这个电话链……public DoWork(index) >> private DoWorkHelper(index) >> private CheckIndex(index)现在,如果您调用DoWork,它会将调用遍历到CheckIndex,将每个更深的调用添加到调用堆栈. 现在,如果某人使用错误的索引值调用DoWork,它会在CheckIndex中一直向下抛出异常,并且当前,这就是调试器中断的地方.然后你必须走回调用堆栈才能看到真正的罪犯是有人将坏数据传递给DoWork. 现在回到VB...

c# – 无法在DLL“advapi32.dll”模拟异常中找到名为“LogonUser”的入口点【代码】

在浏览一些遗留模拟逻辑时,我遇到以下异常: 无法在DLL“advapi32.dll”中找到名为“LogonUser”的入口点 我知道错误意味着我的应用程序无法在advapi32.dll中找到LogonUser方法. 代码看起来像这样:[DllImport("advapi32.dll", CharSet = CharSet.Auto, SetLastError = true, ExactSpelling = true)] private static extern bool LogonUser(String lpszUsername, String lpszDomain, String lpszPassword, int dwLogonType, in...

c# – 尝试通过SMTP发送邮件.没有邮件到达,没有异常错误【代码】

问题:制作了一个小型邮件程序,它在我的开发者电脑上完美运行,但投入生产后却失败了.protected void Page_Load(object sender, EventArgs e) {string smtpHost = ConfigurationManager.AppSettings["SmtpAddress"];MailMessage mail = new MailMessage();mail.From = new MailAddress(ConfigurationManager.AppSettings["FromMailAddress"]);mail.Sender = new MailAddress(ConfigurationManager.AppSettings["FromMailAddress"]);...

c# – 我捕获的AggregateException没有我期望的异常【代码】

我正在使用任务并行库来设置一个任务链,如下所示,但我得到一个奇怪的异常处理经验,我不明白. 我使用Parallel.ForEach并调用一个包含对以下方法的调用的Action.这个Parallel.ForEach包含在try … catch(AggregateException)中,当发生异常时 – 就像在其中一个Parallel分支中那样 – 一个SchemaValidation异常,然后我希望在AggregateException中看到它. 但是,我得到的是“任务被取消” – TaskCanceledException.我的SchemaValidati...

c# – GetAllNetworkInterfaces()抛出异常【代码】

在Mono for Android中,我试图获取本地网络中设备的所有IP地址. 我不介意环回,但我对调用DNS不感兴趣. 最好的方式似乎是打电话……using System.Net.NetworkInformation;NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();…除了它抛出……System.EntryPointNotFoundException: getifaddrs有什么建议?解决方法:不幸的是,这是Mono for Android中的一个已知错误.错误报告可用here.

c# – 请求锁屏访问会在mscorlib.dll中引发异常挂起或抛出异常【代码】

我使用以下方法在WinRT中请求锁屏访问:public async void RequestLockScreenAccess(){var status = BackgroundExecutionManager.GetAccessStatus();if (status == BackgroundAccessStatus.Unspecified || status == BackgroundAccessStatus.Denied)status = await BackgroundExecutionManager.RequestAccessAsync();switch (status){case BackgroundAccessStatus.AllowedWithAlwaysOnRealTimeConnectivity:_mainInfo.NotifyUser =...

c# – 即使对象不为null,也会发生NullReference异常【代码】

我是wpf的新手;我正在使用可编辑的comboBox(用于搜索目的). 更改ComboBox中的文本时,搜索结果将显示在数据网格下方.当选择数据网格中的任何行时,其值将显示在文本框中以进行编辑. 当我在组合框中写一些东西时,相关的行显示在数据网格中,但是当我单击以选择一行时,应用程序会抛出一个null引用异常. 当dataGrid刷新逻辑位于按钮单击后面时,我的应用程序正常工作. dataGrid的“SelectionChange”事件的代码是:private void CategoryR...

c# – 捕获异常,然后抛出/发送异常并继续【代码】

所以标题可能有点误导,但我想要完成的是读取一个文件数组,然后将它们合并为一个,这就是我现在所处的位置. 问题是我有一个查找异常“FileNotFoundException”的catch,当调用它时我想继续我的try语句(使用“continue”)但让用户知道文件丢失了. 我的设置是一个从表单调用的类(它在错误应该出现的形式) 我想过创建一个可以从我的表单中注册的事件,但这是正确的方法吗?public void MergeClientFiles(string directory){// Find all cl...

XML- C#的多个异常的文档【代码】

我实际上是在搜索guidline,如何在C#-DLL中的公共方法中记录多个异常. 例:/// <summary> /// This method does something /// </summary> /// <param name="p_Parameter1">First parameter</param> /// <param name="p_Parameter2">Second parameter</param> /// <param name="p_Number">A number</param> /// <exception cref="ArgumentNullException"> /// Thrown if p_Parameter1 is null</exception> /// <exception cref="Arg...