v9.7.2018.0421   支持运行时修改DAL连接字符串
大石头 编写于 2018-04-21 14:00:47
X
using System;
using System.CodeDom.Compiler;
using NewLife;

namespace XTemplate.Templating
{
    /// <summary>模版异常</summary>
    public class TemplateException : XException
    {
        #region 属性
        /// <summary>代码块</summary>
        internal Block Block { get; private set; }

        private CompilerError _Error;
        /// <summary>编译器错误</summary>
        public CompilerError Error
        {
            get
            {
                if (_Error == null && Block != null)
                {
                    _Error = new CompilerError(Block.Name, Block.StartLine, Block.StartColumn, null, Message);
                    _Error.IsWarning = false;
                }
                return _Error;
            }
            internal set { _Error = value; }
        }
        #endregion

        #region 构造
        /// <summary>实例化一个模版处理异常</summary>
        /// <param name="message"></param>
        public TemplateException(String message) : base(message) { }

        /// <summary>实例化一个模版处理异常</summary>
        /// <param name="block"></param>
        /// <param name="message"></param>
        internal TemplateException(Block block, String message)
            : base(message + block.ToFullString())
        {
            Block = block;
        }
        #endregion
    }
}