Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Xml / System / Xml / Xslt / XsltException.cs / 1 / XsltException.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System.Globalization; using System.Resources; using System.Runtime.Serialization; using System.Security.Permissions; using System.Xml.XPath; namespace System.Xml.Xsl { using Res = System.Xml.Utils.Res; [Serializable] public class XsltException : SystemException { string res; string[] args; string sourceUri; int lineNumber; int linePosition; // message != null for V1 & V2 exceptions deserialized in Whidbey // message == null for created V2 exceptions; the exception message is stored in Exception._message string message; protected XsltException(SerializationInfo info, StreamingContext context) : base(info, context) { res = (string) info.GetValue("res" , typeof(string )); args = (string[]) info.GetValue("args" , typeof(string[] )); sourceUri = (string) info.GetValue("sourceUri" , typeof(string )); lineNumber = (int) info.GetValue("lineNumber" , typeof(int )); linePosition = (int) info.GetValue("linePosition", typeof(int )); // deserialize optional members string version = null; foreach ( SerializationEntry e in info ) { if ( e.Name == "version" ) { version = (string)e.Value; } } if (version == null) { // deserializing V1 exception message = CreateMessage(res, args, sourceUri, lineNumber, linePosition); } else { // deserializing V2 or higher exception -> exception message is serialized by the base class (Exception._message) message = null; } } [SecurityPermissionAttribute(SecurityAction.Demand,SerializationFormatter=true)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { base.GetObjectData(info, context); info.AddValue("res" , res ); info.AddValue("args" , args ); info.AddValue("sourceUri" , sourceUri ); info.AddValue("lineNumber" , lineNumber ); info.AddValue("linePosition", linePosition); info.AddValue("version" , "2.0"); } public XsltException() : this (string.Empty, (Exception) null) {} public XsltException(String message) : this (message, (Exception) null) {} public XsltException(String message, Exception innerException) : this(Res.Xml_UserException, new string[] { message }, null, 0, 0, innerException ) { } internal static XsltException Create(string res, params string[] args) { return new XsltException(res, args, null, 0, 0, null); } internal static XsltException Create(string res, string[] args, Exception inner) { return new XsltException(res, args, null, 0, 0, inner); } internal XsltException(string res, string[] args, string sourceUri, int lineNumber, int linePosition, Exception inner) : base(CreateMessage(res, args, sourceUri, lineNumber, linePosition), inner) { HResult = HResults.XmlXslt; this.res = res; this.sourceUri = sourceUri; this.lineNumber = lineNumber; this.linePosition = linePosition; } public virtual string SourceUri { get { return this.sourceUri; } } public virtual int LineNumber { get { return this.lineNumber; } } public virtual int LinePosition { get { return this.linePosition; } } public override string Message { get { return (message == null) ? base.Message : message; } } private static string CreateMessage(string res, string[] args, string sourceUri, int lineNumber, int linePosition) { try { string message = FormatMessage(res, args); if (res != Res.Xslt_CompileError && lineNumber != 0) { message += " " + FormatMessage(Res.Xml_ErrorFilePosition, sourceUri, lineNumber.ToString(CultureInfo.InvariantCulture), linePosition.ToString(CultureInfo.InvariantCulture)); } return message; } catch (MissingManifestResourceException) { return "UNKNOWN(" + res + ")"; } } private static string FormatMessage(string key, params string[] args) { string message = Res.GetString(key); if (message != null && args != null) { message = string.Format(CultureInfo.InvariantCulture, message, args); } return message; } } [Serializable] public class XsltCompileException : XsltException { protected XsltCompileException(SerializationInfo info, StreamingContext context) : base(info, context) {} [SecurityPermissionAttribute(SecurityAction.Demand,SerializationFormatter=true)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { base.GetObjectData(info, context); } public XsltCompileException() : base() {} public XsltCompileException(String message) : base (message) {} public XsltCompileException(String message, Exception innerException) : base (message, innerException) {} public XsltCompileException(Exception inner, string sourceUri, int lineNumber, int linePosition) : base( lineNumber != 0 ? Res.Xslt_CompileError : Res.Xslt_CompileError2, new string[] { sourceUri, lineNumber.ToString(CultureInfo.InvariantCulture), linePosition.ToString(CultureInfo.InvariantCulture) }, sourceUri, lineNumber, linePosition, inner ) {} } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ComponentResourceManager.cs
- ToolStripControlHost.cs
- BaseCodePageEncoding.cs
- EntityDataReader.cs
- ValueConversionAttribute.cs
- EditorPartCollection.cs
- ObservableDictionary.cs
- TagPrefixInfo.cs
- RectAnimationClockResource.cs
- ColumnWidthChangingEvent.cs
- DocumentPageHost.cs
- PageTheme.cs
- AppDomainProtocolHandler.cs
- Pool.cs
- UnsafeNativeMethods.cs
- ListComponentEditorPage.cs
- GradientBrush.cs
- AsyncSerializedWorker.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- Blend.cs
- DispatcherExceptionFilterEventArgs.cs
- TextProperties.cs
- ResourceContainer.cs
- ReflectionPermission.cs
- DateTime.cs
- Activity.cs
- ChildChangedEventArgs.cs
- CustomAttributeFormatException.cs
- QueryStringParameter.cs
- OleDbRowUpdatedEvent.cs
- ListMarkerSourceInfo.cs
- ParameterCollection.cs
- SqlMethods.cs
- ColorMap.cs
- XpsColorContext.cs
- HttpHandlerAction.cs
- Transform3DCollection.cs
- KoreanLunisolarCalendar.cs
- RTTrackingProfile.cs
- shaperfactory.cs
- DrawingBrush.cs
- PocoEntityKeyStrategy.cs
- ThicknessAnimationUsingKeyFrames.cs
- SafeViewOfFileHandle.cs
- NullableDecimalSumAggregationOperator.cs
- RangeValidator.cs
- DataGridViewCellStyleConverter.cs
- ObjectDataSourceEventArgs.cs
- OleDbEnumerator.cs
- _AuthenticationState.cs
- Menu.cs
- Converter.cs
- ParameterElement.cs
- UserControl.cs
- BindingNavigator.cs
- WorkflowQueuingService.cs
- DependencyPropertyAttribute.cs
- DataGridLength.cs
- JpegBitmapDecoder.cs
- ConfigXmlSignificantWhitespace.cs
- PolyLineSegmentFigureLogic.cs
- XmlSchemaComplexType.cs
- RequiredAttributeAttribute.cs
- RestClientProxyHandler.cs
- MarkupWriter.cs
- AmbiguousMatchException.cs
- JapaneseLunisolarCalendar.cs
- ResumeStoryboard.cs
- StylusPointPropertyInfoDefaults.cs
- StateValidator.cs
- DbParameterCollectionHelper.cs
- CollectionViewProxy.cs
- AsyncResult.cs
- ReaderWriterLock.cs
- ZipArchive.cs
- AddInEnvironment.cs
- PrintControllerWithStatusDialog.cs
- LinkUtilities.cs
- XmlSchemaSequence.cs
- WindowsSecurityTokenAuthenticator.cs
- WCFModelStrings.Designer.cs
- EnumType.cs
- ComponentCommands.cs
- ListenerTraceUtility.cs
- RegionIterator.cs
- CodeDomSerializationProvider.cs
- _ListenerAsyncResult.cs
- NavigationEventArgs.cs
- EditCommandColumn.cs
- IntSumAggregationOperator.cs
- MimeMultiPart.cs
- ConfigurationStrings.cs
- UIElement3D.cs
- DocumentXPathNavigator.cs
- FixedDocumentPaginator.cs
- __ComObject.cs
- Types.cs
- Publisher.cs
- NativeCppClassAttribute.cs
- IEnumerable.cs