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
- BinaryKeyIdentifierClause.cs
- ToolBarButtonClickEvent.cs
- ValidatedControlConverter.cs
- GridViewRowPresenterBase.cs
- DetailsViewDeletedEventArgs.cs
- IndexedWhereQueryOperator.cs
- TrustSection.cs
- SystemTcpStatistics.cs
- AlternationConverter.cs
- WebBaseEventKeyComparer.cs
- CodeCommentStatement.cs
- ReferenceEqualityComparer.cs
- DataGridAutomationPeer.cs
- TextParagraphView.cs
- WorkflowOperationFault.cs
- Monitor.cs
- FixedSOMElement.cs
- PriorityItem.cs
- NonParentingControl.cs
- CopyEncoder.cs
- CodeMemberField.cs
- RequestUriProcessor.cs
- ServiceEndpointElementCollection.cs
- PrintDialog.cs
- Roles.cs
- IDispatchConstantAttribute.cs
- XmlReflectionImporter.cs
- ConfigurationStrings.cs
- TextTreeTextNode.cs
- FileDataSourceCache.cs
- keycontainerpermission.cs
- XmlSecureResolver.cs
- CheckBoxList.cs
- SubMenuStyle.cs
- NoClickablePointException.cs
- DetailsViewInsertEventArgs.cs
- ImageBrush.cs
- GridItemPattern.cs
- StringInfo.cs
- FixedFindEngine.cs
- RangeValueProviderWrapper.cs
- GenericXmlSecurityToken.cs
- RectAnimationBase.cs
- TTSEvent.cs
- FilterException.cs
- XmlSchemaSimpleContentRestriction.cs
- WebPartMinimizeVerb.cs
- SeekStoryboard.cs
- TransactionFlowAttribute.cs
- SizeF.cs
- CodeThrowExceptionStatement.cs
- PartitionResolver.cs
- WorkflowPageSetupDialog.cs
- CheckBox.cs
- PenCursorManager.cs
- BindingListCollectionView.cs
- ColumnTypeConverter.cs
- TextFormatterImp.cs
- DateTimeFormatInfo.cs
- ImageAttributes.cs
- DbProviderFactories.cs
- ExpandableObjectConverter.cs
- ReadOnlyDictionary.cs
- XmlLinkedNode.cs
- CounterSample.cs
- ApplyImportsAction.cs
- WindowsButton.cs
- SkinBuilder.cs
- WindowInteropHelper.cs
- ReadWriteSpinLock.cs
- UnsafeNativeMethods.cs
- FrameworkObject.cs
- ResourcePermissionBaseEntry.cs
- ConfigurationManagerHelperFactory.cs
- UnsupportedPolicyOptionsException.cs
- Thumb.cs
- UseAttributeSetsAction.cs
- StringStorage.cs
- AddDataControlFieldDialog.cs
- PageContent.cs
- FileDialogCustomPlace.cs
- EmissiveMaterial.cs
- DuplexChannel.cs
- SubqueryRules.cs
- LayoutTableCell.cs
- EventHandlerList.cs
- ResourceManager.cs
- DragEvent.cs
- IntersectQueryOperator.cs
- precedingsibling.cs
- TypefaceCollection.cs
- RoleService.cs
- EditorAttribute.cs
- CodeBlockBuilder.cs
- Peer.cs
- OptimizedTemplateContentHelper.cs
- DynamicValueConverter.cs
- ActivityDesigner.cs
- WebPartDisplayModeEventArgs.cs
- ParsedAttributeCollection.cs