亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? quiettextwriter.cs

?? 詳細講述了數據庫編程
?? CS
字號:
#region Copyright & License
//
// Copyright 2001-2005 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#endregion

using System;
using System.IO;

using log4net.Core;

namespace log4net.Util
{
	/// <summary>
	/// <see cref="TextWriter"/> that does not leak exceptions
	/// </summary>
	/// <remarks>
	/// <para>
	/// <see cref="QuietTextWriter"/> does not throw exceptions when things go wrong. 
	/// Instead, it delegates error handling to its <see cref="IErrorHandler"/>.
	/// </para>
	/// </remarks>
	/// <author>Nicko Cadell</author>
	/// <author>Gert Driesen</author>
	public class QuietTextWriter : TextWriterAdapter
	{
		#region Public Instance Constructors

		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="writer">the writer to actually write to</param>
		/// <param name="errorHandler">the error handler to report error to</param>
		/// <remarks>
		/// <para>
		/// Create a new QuietTextWriter using a writer and error handler
		/// </para>
		/// </remarks>
		public QuietTextWriter(TextWriter writer, IErrorHandler errorHandler) : base(writer)
		{
			if (errorHandler == null)
			{
				throw new ArgumentNullException("errorHandler");
			}
			ErrorHandler = errorHandler;
		}

		#endregion Public Instance Constructors

		#region Public Instance Properties

		/// <summary>
		/// Gets or sets the error handler that all errors are passed to.
		/// </summary>
		/// <value>
		/// The error handler that all errors are passed to.
		/// </value>
		/// <remarks>
		/// <para>
		/// Gets or sets the error handler that all errors are passed to.
		/// </para>
		/// </remarks>
		public IErrorHandler ErrorHandler
		{
			get { return m_errorHandler; }
			set
			{
				if (value == null)
				{
					// This is a programming error on the part of the enclosing appender.
					throw new ArgumentNullException("value");
				}
				m_errorHandler = value;
			}
		}	

		/// <summary>
		/// Gets a value indicating whether this writer is closed.
		/// </summary>
		/// <value>
		/// <c>true</c> if this writer is closed, otherwise <c>false</c>.
		/// </value>
		/// <remarks>
		/// <para>
		/// Gets a value indicating whether this writer is closed.
		/// </para>
		/// </remarks>
		public bool Closed
		{
			get { return m_closed; }
		}

		#endregion Public Instance Properties

		#region Override Implementation of TextWriter

		/// <summary>
		/// Writes a character to the underlying writer
		/// </summary>
		/// <param name="value">the char to write</param>
		/// <remarks>
		/// <para>
		/// Writes a character to the underlying writer
		/// </para>
		/// </remarks>
		public override void Write(char value) 
		{
			try 
			{
				base.Write(value);
			} 
			catch(Exception e) 
			{
				m_errorHandler.Error("Failed to write [" + value + "].", e, ErrorCode.WriteFailure);
			}
		}
    
		/// <summary>
		/// Writes a buffer to the underlying writer
		/// </summary>
		/// <param name="buffer">the buffer to write</param>
		/// <param name="index">the start index to write from</param>
		/// <param name="count">the number of characters to write</param>
		/// <remarks>
		/// <para>
		/// Writes a buffer to the underlying writer
		/// </para>
		/// </remarks>
		public override void Write(char[] buffer, int index, int count) 
		{
			try 
			{
				base.Write(buffer, index, count);
			} 
			catch(Exception e) 
			{
				m_errorHandler.Error("Failed to write buffer.", e, ErrorCode.WriteFailure);
			}
		}
    
		/// <summary>
		/// Writes a string to the output.
		/// </summary>
		/// <param name="value">The string data to write to the output.</param>
		/// <remarks>
		/// <para>
		/// Writes a string to the output.
		/// </para>
		/// </remarks>
		override public void Write(string value) 
		{
			try 
			{
				base.Write(value);
			} 
			catch(Exception e) 
			{
				m_errorHandler.Error("Failed to write [" + value + "].", e, ErrorCode.WriteFailure);
			}
		}

		/// <summary>
		/// Closes the underlying output writer.
		/// </summary>
		/// <remarks>
		/// <para>
		/// Closes the underlying output writer.
		/// </para>
		/// </remarks>
		override public void Close()
		{
			m_closed = true;
			base.Close();
		}

		#endregion Public Instance Methods

		#region Private Instance Fields

		/// <summary>
		/// The error handler instance to pass all errors to
		/// </summary>
		private IErrorHandler m_errorHandler;

		/// <summary>
		/// Flag to indicate if this writer is closed
		/// </summary>
		private bool m_closed = false;

		#endregion Private Instance Fields
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡大黄网站免费看| 亚洲一区二区三区四区在线 | 一区二区免费看| 亚洲一区二区综合| 久久99久久99精品免视看婷婷| 国产不卡免费视频| 在线观看欧美日本| 日韩一区二区在线看片| 欧美高清一级片在线观看| 亚洲精品美国一| 麻豆91精品视频| 99国产欧美久久久精品| 制服丝袜在线91| 亚洲国产精品成人综合| 天堂在线亚洲视频| 国产成人av一区| 在线观看91精品国产麻豆| 国产色产综合产在线视频| 亚洲精品一卡二卡| 久久99精品久久久久久| 91亚洲国产成人精品一区二区三| 91精品国产麻豆国产自产在线| 欧美国产一区在线| 婷婷久久综合九色国产成人| 国产91精品久久久久久久网曝门| 欧美日韩第一区日日骚| 国产日韩欧美激情| 日本欧美一区二区在线观看| 成人黄色软件下载| 精品人在线二区三区| 亚洲嫩草精品久久| 国产成人av网站| 日韩精品一区二区三区老鸭窝| 国产精品美女久久久久久 | 欧美成人精精品一区二区频| 国产精品国产自产拍在线| 免费高清在线一区| 在线观看日韩高清av| 国产精品私人影院| 男男gaygay亚洲| 欧洲亚洲精品在线| 一区在线观看视频| 国产乱子轮精品视频| 69p69国产精品| 一区二区三区波多野结衣在线观看| 国产精品一卡二卡| 欧美成人video| 丝袜美腿亚洲色图| 在线视频国内自拍亚洲视频| 国产精品伦一区| 国产福利不卡视频| 精品裸体舞一区二区三区| 日韩精品亚洲专区| 欧美视频中文字幕| 亚洲在线中文字幕| 一本一道综合狠狠老| 成人欧美一区二区三区小说| 国产ts人妖一区二区| 精品少妇一区二区| 美女诱惑一区二区| 日韩欧美中文字幕精品| 日韩综合一区二区| 欧美日韩亚洲综合在线| 亚洲自拍偷拍麻豆| 91黄色免费网站| 亚洲美女在线国产| 97久久超碰国产精品| 国产精品国产三级国产三级人妇| 国产福利精品一区二区| 国产欧美精品一区二区色综合 | 久久综合九色综合欧美就去吻 | 国产清纯美女被跳蛋高潮一区二区久久w| 久久精品国产色蜜蜜麻豆| 欧美一区二区三区男人的天堂| 亚洲va欧美va天堂v国产综合| 欧美日韩在线一区二区| 亚洲综合一区在线| 欧美色区777第一页| 亚欧色一区w666天堂| 欧美丰满少妇xxxbbb| 丝瓜av网站精品一区二区| 69成人精品免费视频| 麻豆成人免费电影| 久久精品夜色噜噜亚洲aⅴ| 国产高清精品在线| 亚洲视频在线一区二区| 日本国产一区二区| 午夜精彩视频在线观看不卡| 欧美一区二区成人| 国产综合色产在线精品| 国产精品五月天| 色综合网站在线| 日韩在线一区二区三区| 久久综合色鬼综合色| 99在线视频精品| 国产一区二区三区精品视频| 国产亚洲精品中文字幕| 成+人+亚洲+综合天堂| 亚洲另类在线制服丝袜| 欧美精品久久久久久久多人混战| 麻豆久久久久久| 亚洲国产精品ⅴa在线观看| 91丨porny丨蝌蚪视频| 亚洲一卡二卡三卡四卡无卡久久| 欧美美女直播网站| 国产乱色国产精品免费视频| 日韩一区在线播放| 欧美伦理影视网| 国产一区久久久| 一区二区三区电影在线播| 91精品国产美女浴室洗澡无遮挡| 国产精品一二三四五| 一区二区三区产品免费精品久久75| 91精品国产综合久久小美女| 国产成人超碰人人澡人人澡| 一区二区三区精品在线| 精品国产3级a| 色8久久精品久久久久久蜜| 免费成人av在线| 中文字幕一区二区三区在线不卡| 欧美浪妇xxxx高跟鞋交| 成人免费高清视频在线观看| 亚洲国产中文字幕在线视频综合| 久久久亚洲精品一区二区三区 | 亚洲一区在线视频| 欧美精品一区在线观看| 色综合久久天天| 久久激五月天综合精品| 亚洲色图欧美在线| 精品国产乱码久久久久久久久| 91在线无精精品入口| 久久99精品国产麻豆不卡| 亚洲另类春色国产| www一区二区| 欧美日韩久久一区二区| 成人精品gif动图一区| 欧美a级理论片| 一区二区三区四区国产精品| 久久你懂得1024| 91精品免费在线| 91看片淫黄大片一级| 国产一区二区三区黄视频| 午夜激情一区二区三区| 亚洲欧美视频在线观看| 国产视频一区二区在线| 日韩三级高清在线| 欧美日韩精品电影| 91美女片黄在线观看| 国产中文字幕精品| 日韩黄色在线观看| 亚洲在线视频一区| 亚洲美女淫视频| 成人免费一区二区三区视频 | 成人av资源在线| 极品美女销魂一区二区三区免费| 亚洲综合色视频| 亚洲男人天堂av| 国产精品久久久久久久久免费樱桃 | 国产日韩欧美精品在线| 欧美大片国产精品| 在线综合视频播放| 欧美性xxxxx极品少妇| 欧美国产精品一区| 精品国产3级a| 欧美刺激午夜性久久久久久久| 欧美日韩精品系列| 在线观看一区二区精品视频| av电影天堂一区二区在线观看| 国产精品一区二区无线| 久久99久久精品| 激情都市一区二区| 久久99精品国产麻豆婷婷洗澡| 欧美aa在线视频| 久久精品99久久久| 老司机精品视频在线| 日本不卡一区二区三区| 水野朝阳av一区二区三区| 偷拍一区二区三区| 亚洲成人动漫在线免费观看| 亚洲韩国精品一区| 亚洲成国产人片在线观看| 亚洲国产一区二区a毛片| 综合久久久久综合| 玉米视频成人免费看| 亚洲猫色日本管| 一区二区三区免费看视频| 亚洲影视在线观看| 亚洲成人第一页| 日本亚洲一区二区| 精品亚洲成a人| 国产电影一区在线| 成人黄色av电影| 一本到高清视频免费精品| 色8久久人人97超碰香蕉987| 欧美日韩精品一区视频| 91精品国产综合久久香蕉的特点| 日韩欧美一级在线播放| 精品粉嫩超白一线天av| 国产欧美一区二区三区网站 | 91影院在线免费观看|