Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / IO / FileFormatException.cs / 1305600 / FileFormatException.cs
//---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // Description: The FileFormatException class is thrown when an input file or a data stream that is supposed to conform // to a certain file format specification is malformed. // // History: // 10/21/2004 : mleonov - Created // //--------------------------------------------------------------------------- using System; using System.Runtime.Serialization; using System.Security; using System.Security.Permissions; using System.Windows; using MS.Internal.WindowsBase; namespace System.IO { ////// The FileFormatException class is thrown when an input file or a data stream that is supposed to conform /// to a certain file format specification is malformed. /// [Serializable()] public class FileFormatException : FormatException, ISerializable { ////// Creates a new instance of FileFormatException class. /// This constructor initializes the Message property of the new instance to a system-supplied message that describes the error, /// such as "An input file or a data stream does not conform to the expected file format specification." /// This message takes into account the current system culture. /// public FileFormatException() : base(SR.Get(SRID.FileFormatException)) {} ////// Creates a new instance of FileFormatException class. /// This constructor initializes the Message property of the new instance with a specified error message. /// /// The message that describes the error. public FileFormatException(string message) : base(message) {} ////// Creates a new instance of FileFormatException class. /// This constructor initializes the Message property of the new instance with a specified error message. /// The InnerException property is initialized using the innerException parameter. /// /// The error message that explains the reason for the exception. /// The exception that is the cause of the current exception. public FileFormatException(string message, Exception innerException) : base(message, innerException) {} ////// Creates a new instance of FileFormatException class. /// This constructor initializes the Message property of the new instance to a system-supplied message that describes the error and includes the file name, /// such as "The file 'sourceUri' does not conform to the expected file format specification." /// This message takes into account the current system culture. /// The SourceUri property is initialized using the sourceUri parameter. /// /// The Uri of a file that caused this error. public FileFormatException(Uri sourceUri) : base( sourceUri == null ? SR.Get(SRID.FileFormatException) : SR.Get(SRID.FileFormatExceptionWithFileName, sourceUri)) { _sourceUri = sourceUri; } ////// Creates a new instance of FileFormatException class. /// This constructor initializes the Message property of the new instance using the message parameter. /// The content of message is intended to be understood by humans. /// The caller of this constructor is required to ensure that this string has been localized for the current system culture. /// The SourceUri property is initialized using the sourceUri parameter. /// /// The Uri of a file that caused this error. /// The message that describes the error. public FileFormatException(Uri sourceUri, String message) : base(message) { _sourceUri = sourceUri; } ////// Creates a new instance of FileFormatException class. /// This constructor initializes the Message property of the new instance to a system-supplied message that describes the error and includes the file name, /// such as "The file 'sourceUri' does not conform to the expected file format specification." /// This message takes into account the current system culture. /// The SourceUri property is initialized using the sourceUri parameter. /// The InnerException property is initialized using the innerException parameter. /// /// The Uri of a file that caused this error. /// The exception that is the cause of the current exception. public FileFormatException(Uri sourceUri, Exception innerException) : base( sourceUri == null ? SR.Get(SRID.FileFormatException) : SR.Get(SRID.FileFormatExceptionWithFileName, sourceUri), innerException) { _sourceUri = sourceUri; } ////// Creates a new instance of FileFormatException class. /// This constructor initializes the Message property of the new instance using the message parameter. /// The content of message is intended to be understood by humans. /// The caller of this constructor is required to ensure that this string has been localized for the current system culture. /// The SourceUri property is initialized using the sourceUri parameter. /// The InnerException property is initialized using the innerException parameter. /// /// The Uri of a file that caused this error. /// The message that describes the error. /// The exception that is the cause of the current exception. public FileFormatException(Uri sourceUri, String message, Exception innerException) : base(message, innerException) { _sourceUri = sourceUri; } ////// Creates a new instance of FileFormatException class and initializes it with serialized data. /// This constructor is called during deserialization to reconstitute the exception object transmitted over a stream. /// /// The object that holds the serialized object data. /// The contextual information about the source or destination. protected FileFormatException(SerializationInfo info, StreamingContext context) : base(info, context) { string sourceUriString = info.GetString("SourceUri"); if (sourceUriString != null) _sourceUri = new Uri(sourceUriString, UriKind.RelativeOrAbsolute); } ////// Sets the SerializationInfo object with the file name and additional exception information. /// /// The object that holds the serialized object data. /// The contextual information about the source or destination. ////// Critical: calls Exception.GetObjectData which LinkDemands /// PublicOK: a demand exists here /// [SecurityCritical] [SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { if (info == null) throw new ArgumentNullException("info"); base.GetObjectData(info, context); Uri sourceUri = SourceUri; info.AddValue( "SourceUri", sourceUri == null ? null : sourceUri.GetComponents(UriComponents.SerializationInfoString, UriFormat.SafeUnescaped), typeof(String) ); } ////// Returns the name of a file that caused this exception. This property may be equal to an empty string /// if obtaining the file path that caused the error was not possible. /// ///The file name. public Uri SourceUri { get { // Security: defense in depth, make sure the caller has path discovery permission for local file case. if (_sourceUri != null && _sourceUri.IsAbsoluteUri && _sourceUri.IsFile) SecurityHelper.DemandPathDiscovery(_sourceUri.LocalPath); return _sourceUri; } } private Uri _sourceUri; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OpacityConverter.cs
- EntityObject.cs
- WebScriptServiceHost.cs
- Rotation3D.cs
- SendingRequestEventArgs.cs
- ThreadPool.cs
- AliasGenerator.cs
- XmlSchemaObjectCollection.cs
- ChangeBlockUndoRecord.cs
- DictationGrammar.cs
- UpdatePanelTrigger.cs
- TextBoxLine.cs
- ServerValidateEventArgs.cs
- ItemCheckedEvent.cs
- WindowsMenu.cs
- RegistryHandle.cs
- SignedPkcs7.cs
- WindowsAuthenticationModule.cs
- SiteMapNodeCollection.cs
- UnionCqlBlock.cs
- UIElementIsland.cs
- RefExpr.cs
- SqlServices.cs
- CrossSiteScriptingValidation.cs
- InheritanceAttribute.cs
- ObjectHandle.cs
- XmlWhitespace.cs
- DatatypeImplementation.cs
- SeekStoryboard.cs
- TextPatternIdentifiers.cs
- IncrementalHitTester.cs
- BitmapFrame.cs
- ToolStripDropDownButton.cs
- FocusManager.cs
- codemethodreferenceexpression.cs
- XmlILModule.cs
- RootProfilePropertySettingsCollection.cs
- GeneralTransform3DTo2DTo3D.cs
- WebBaseEventKeyComparer.cs
- _ConnectOverlappedAsyncResult.cs
- SoapFault.cs
- Range.cs
- HtmlTitle.cs
- Bidi.cs
- XmlQualifiedName.cs
- PerfCounterSection.cs
- QueryUtil.cs
- OutputCacheSection.cs
- StreamSecurityUpgradeInitiator.cs
- CultureInfo.cs
- OperatingSystem.cs
- WebPartChrome.cs
- MsmqHostedTransportConfiguration.cs
- TextBoxRenderer.cs
- RectValueSerializer.cs
- DoubleKeyFrameCollection.cs
- MultiPropertyDescriptorGridEntry.cs
- FixedSOMTable.cs
- TextSimpleMarkerProperties.cs
- ObjectSet.cs
- Schema.cs
- HtmlHead.cs
- SoapProtocolReflector.cs
- ComplexPropertyEntry.cs
- DesignTimeTemplateParser.cs
- CompressEmulationStream.cs
- WebPartConnectVerb.cs
- DocumentViewerBase.cs
- CharEntityEncoderFallback.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- DelegateBodyWriter.cs
- ItemsPresenter.cs
- TabletDeviceInfo.cs
- HtmlTableCellCollection.cs
- ACE.cs
- UInt32Converter.cs
- SmiContext.cs
- InternalBufferOverflowException.cs
- SharedStatics.cs
- WebPartMenuStyle.cs
- CodeDirectoryCompiler.cs
- BulletedListEventArgs.cs
- SoapEnvelopeProcessingElement.cs
- ClosureBinding.cs
- OletxTransactionManager.cs
- PaintEvent.cs
- NativeRecognizer.cs
- ConnectionsZoneAutoFormat.cs
- SeparatorAutomationPeer.cs
- ObjectDesignerDataSourceView.cs
- BoundsDrawingContextWalker.cs
- ColumnTypeConverter.cs
- TimelineClockCollection.cs
- PermissionListSet.cs
- DbDataRecord.cs
- NameValueCollection.cs
- ConfigurationException.cs
- UriTemplateClientFormatter.cs
- WaveHeader.cs
- ipaddressinformationcollection.cs