• 将指定的年月日转初始化为DateTime新的实例(Nop.Admin.Controllers.OrderController.ParseProductAttributes)

    case AttributeControlType.Datepicker:
    {
    var day = form[controlId + "_day"];
    var month = form[controlId + "_month"];
    var year = form[controlId + "_year"];
    DateTime? selectedDate = null;
    try
    {

    selectedDate = new DateTime(Int32.Parse(year), Int32.Parse(month), Int32.Parse(day));
    }
    catch { }
    if (selectedDate.HasValue)
    {
    attributesXml = _productAttributeParser.AddProductAttribute(attributesXml,
    attribute, selectedDate.Value.ToString("D"));
    }
    }
    break;
  • 能否出订单信息(\src\Presentation\Nop.Web\Administration\Controllers\OrderController.cs(1346))
try
{
byte[] bytes = _exportManager.ExportOrdersToXlsx(orders);
return File(bytes, MimeTypes.TextXlsx, "orders.xlsx");
}
catch (Exception exc)
{
ErrorNotification(exc);
return RedirectToAction("List");
}
  • 发送HTTP请求(\src\Plugins\Nop.Plugin.ExchangeRate.EcbExchange\EcbExchangeRateProvider.cs(60))

    //get exchange rates to euro from European Central Bank
    var request = (HttpWebRequest)WebRequest.Create("http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml");
    try
    {
    using (var response = request.GetResponse())
    {
    //load XML document
    var document = new XmlDocument();
    document.Load(response.GetResponseStream()); //add namespaces
    var namespaces = new XmlNamespaceManager(document.NameTable);
    namespaces.AddNamespace("ns", "http://www.ecb.int/vocabulary/2002-08-01/eurofxref");
    namespaces.AddNamespace("gesmes", "http://www.gesmes.org/xml/2002-08-01"); //get daily rates
    var dailyRates = document.SelectSingleNode("gesmes:Envelope/ns:Cube/ns:Cube", namespaces);
    DateTime updateDate;
    if (!DateTime.TryParseExact(dailyRates.Attributes["time"].Value, "yyyy-MM-dd", null, DateTimeStyles.None, out updateDate))
    updateDate = DateTime.UtcNow; foreach (XmlNode currency in dailyRates.ChildNodes)
    {
    //get rate
    decimal currencyRate;
    if (!decimal.TryParse(currency.Attributes["rate"].Value, out currencyRate))
    continue; ratesToEuro.Add(new Core.Domain.Directory.ExchangeRate()
    {
    CurrencyCode = currency.Attributes["currency"].Value,
    Rate = currencyRate,
    UpdatedOn = updateDate
    });
    }
    }
    }
    catch (WebException ex)
    {
    _logger.Error("ECB exchange rate provider", ex);
    }
  • EF操作(\src\Libraries\Nop.Data\EfRepository.cs(182))
    try
    {
    if (entities == null)
    throw new ArgumentNullException("entities"); foreach (var entity in entities)
    this.Entities.Remove(entity); this._context.SaveChanges();
    }
    catch (DbEntityValidationException dbEx)
    {
    throw new Exception(GetFullErrorText(dbEx), dbEx);
    }
  • \src\Libraries\Nop.Core\WebHelper.cs(46)
            protected virtual Boolean IsRequestAvailable(HttpContextBase httpContext)
    {
    if (httpContext == null)
    return false; try
    {
    if (httpContext.Request == null)
    return false;
    }
    catch (HttpException)
    {
    return false;
    }
    return true;
    }
  • \src\Libraries\Nop.Core\Plugins\PluginManager.cs(434)
    try
    {
    File.Copy(plug.FullName, shadowCopiedPlug.FullName, true);
    }
    catch (IOException)
    {
    Debug.WriteLine(shadowCopiedPlug.FullName + " is locked, attempting to rename");
    //this occurs when the files are locked,
    //for some reason devenv locks plugin files some times and for another crazy reason you are allowed to rename them
    //which releases the lock, so that it what we are doing here, once it's renamed, we can re-shadow copy
    try
    {
    var oldFile = shadowCopiedPlug.FullName + Guid.NewGuid().ToString("N") + ".old";
    File.Move(shadowCopiedPlug.FullName, oldFile);
    }
    catch (IOException exc)
    {
    throw new IOException(shadowCopiedPlug.FullName + " rename failed, cannot initialize plugin", exc);
    }
    //ok, we've made it this far, now retry the shadow copy
    File.Copy(plug.FullName, shadowCopiedPlug.FullName, true);
    }

ASP.NET常见异常处理示例的更多相关文章

  1. ASP.NET Core 异常处理与日志记录

    1. ASP.NET Core 异常处理与日志记录 1.1. 异常处理 1.1.1. 异常产生的原因及处理 1.1.2. ASP.NET Core中启动开发人员异常页面 1.2. 日志记录 1.2.1 ...

  2. Asp.Net Core异常处理整理

    目前版本是Asp.Net Core v1.1,这个版本的感觉对Http请求中的错误处理方便不是很完善. 没有HttpException异常类,不能在任何的地方自由的抛出对应的异常状态. 一.默认的异常 ...

  3. [整理]ASP.NET 中异常处理

    [整理]ASP.NET 中异常处理 1.直接通过重写Controller的OnException来处理异常 public class HomeController : Controller { pub ...

  4. ASP.NET中异常处理的注意事项

    一.ASP.NET中需要引发异常的四类情况 1.如果运行代码后,造成内存泄漏.资源不可用或应用程序状态不可恢复,则引发异常.Console这个类中,有很多类似这样的代码: if ((value < ...

  5. ASP.NET MVC异常处理

    ASP.NET MVC异常处理方案 如何保留异常前填写表单的数据 ASP.NET MVC中的统一化自定义异常处理 MVC过滤器详解 MVC过滤器使用案例:统一处理异常顺道精简代码 ASP.NET MV ...

  6. Java Socket常见异常处理 和 网络编程需要注意的问题

    在java网络编程Socket通信中,通常会遇到以下异常情况: 第1个异常是 java.net.BindException:Address already in use: JVM_Bind. 该异常发 ...

  7. [转]Linux中find常见用法示例

    Linux中find常见用法示例[转]·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;find命令的参 ...

  8. EDI数据导入的注意事项&常见异常处理

    EXCEL表格注意事项: •      编码是0开头的,格式必须是文本,否则前面请加字母: •      注意全角半角,中文标点英文标点: •      编号文字类开头和结尾不要有空格,姓名中间也不要 ...

  9. Linux下命令行cURL的10种常见用法示例

    curl的命令行工具功能非常强大,这些数据交互的功能基本上都是通过URL方式进行的,下面这篇文章主要给大家分享了在Linux中命令行cURL的10种常见用法示例,通过示例代码介绍的非常详细,需要的朋友 ...

随机推荐

  1. fiddle扩展

    扩展地址:http://www.telerik.com/fiddler/add-ons 证书选择 ios设置证书生成 (CertMaker for iOS and Android) 证书查看 (Fid ...

  2. 发现2017年最好的CSS框架

    如今,无数的框架出现在定期而少数人喜欢自助,Foundation和angular.js主宰了整个世界的发展.CSS代表用于描述HTML(或XML)文档表示的样式表语言.一个框架被定义为一个包,它由一组 ...

  3. 应用间共享文件 FileProvider

    应用间共享文件 FileProvider 7.0及以上版本,分析文件给其他进程访问的时候,需要使用FileProvider,否则会出现崩溃: 例如:用系统下载器下载apk,然后通过Intent安装. ...

  4. 【原创 Hadoop&Spark 动手实践 3】Hadoop2.7.3 MapReduce理论与动手实践

    开始聊MapReduce,MapReduce是Hadoop的计算框架,我学Hadoop是从Hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能 ...

  5. SQL格式化插件—SQL Pretty Printer

    在SQL Server中我们经常需要编写各种SQL脚本,例如存储过程和函数等,由于在编写过程中,经常会进行调整,格式很乱,可读性很差.对于有强迫症的人来说,看这样的代码非常痛苦,必须要手动对代码进行格 ...

  6. 华为S12700 NQA配置

    首先,nqa功能是需要授权的. 以下以ICMP配置方式示例: 在配置ICMP测试之前,需要NQA客户端与被测试设备间路由可达.(ICMP测试提供类似于普通ping命令的功能,但输出信息更为丰富.) 请 ...

  7. 【OCR技术系列之七】端到端不定长文字识别CRNN算法详解

    在以前的OCR任务中,识别过程分为两步:单字切割和分类任务.我们一般都会讲一连串文字的文本文件先利用投影法切割出单个字体,在送入CNN里进行文字分类.但是此法已经有点过时了,现在更流行的是基于深度学习 ...

  8. 【iCore4 双核心板_ARM】例程三十七:SDRAM实验——读写SDRAM

    实验现象: 上电即开始读写SDRAM测试,测试过程中,蓝色LED点亮,如果出现错误,红色LED闪烁,测试成功,绿色LED点亮. 核心代码: int main(void) { /* USER CODE ...

  9. QT工程文件的条件编译选择与额外的编译参数配置

    QTCreator打开.pro工程文件后,依据不同的构建套件创建项目组.在项目组中,点开构建步骤的“详情”,增加一个自己的宏定义,比如: DEFINES+=IMX_287 然后,我们在.pro文件中添 ...

  10. 释放锁标记只有在Synchronized代码结束或者调用wait()。

    释放锁标记只有在Synchronized代码结束或者调用wait(). 注意锁标记是自己不会自动释放,必须有通知. 注意在程序中判定一个条件是否成立时要注意使用WHILE要比使用IF要严密. WHIL ...