Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Base / System / IO / FileFormatException.cs / 1 / 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 : [....] - 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.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlClientPermission.cs
- ResourceDescriptionAttribute.cs
- EditorZoneAutoFormat.cs
- UIElement3D.cs
- X509Certificate2.cs
- ObjectStateManager.cs
- DSASignatureFormatter.cs
- TextInfo.cs
- ConfigXmlText.cs
- MobileContainerDesigner.cs
- ListViewGroupCollectionEditor.cs
- SpanIndex.cs
- ConfigurationElementProperty.cs
- validation.cs
- ScriptHandlerFactory.cs
- Pens.cs
- ConfigurationValidatorBase.cs
- VarInfo.cs
- ProtocolsConfigurationEntry.cs
- NamedObjectList.cs
- IIS7WorkerRequest.cs
- WebPartZone.cs
- BmpBitmapDecoder.cs
- StringResourceManager.cs
- XmlSchemaElement.cs
- XmlCharCheckingWriter.cs
- AttributeCollection.cs
- BuilderPropertyEntry.cs
- FixedSOMPage.cs
- RegisteredScript.cs
- ActivationArguments.cs
- HttpPostProtocolImporter.cs
- XmlEnumAttribute.cs
- ProviderConnectionPointCollection.cs
- AnimatedTypeHelpers.cs
- StringAttributeCollection.cs
- AddInControllerImpl.cs
- SoundPlayer.cs
- ProxyWebPartManager.cs
- XmlSchemaValidator.cs
- Blend.cs
- DataGridAutomationPeer.cs
- RectConverter.cs
- RawAppCommandInputReport.cs
- MaskInputRejectedEventArgs.cs
- SqlClientPermission.cs
- messageonlyhwndwrapper.cs
- EmulateRecognizeCompletedEventArgs.cs
- ThreadAbortException.cs
- PermissionRequestEvidence.cs
- __Filters.cs
- ExpressionBuilder.cs
- InternalCache.cs
- EventLog.cs
- ProviderConnectionPointCollection.cs
- FloatUtil.cs
- MouseButton.cs
- PerformanceCounter.cs
- ScrollBar.cs
- DataServiceRequestException.cs
- SingleStorage.cs
- ChangeNode.cs
- HwndSource.cs
- Subtree.cs
- COM2Properties.cs
- CheckBox.cs
- SimpleHandlerBuildProvider.cs
- DesignerProperties.cs
- StreamGeometry.cs
- ProcessHostConfigUtils.cs
- SignedInfo.cs
- ISessionStateStore.cs
- DataViewManagerListItemTypeDescriptor.cs
- SinglePageViewer.cs
- QilTargetType.cs
- DataSourceNameHandler.cs
- TrustSection.cs
- DataGridLengthConverter.cs
- Image.cs
- OdbcRowUpdatingEvent.cs
- Walker.cs
- ImpersonationContext.cs
- ScriptComponentDescriptor.cs
- TrackBar.cs
- DateTimeStorage.cs
- EventSinkHelperWriter.cs
- ThicknessAnimationBase.cs
- Schema.cs
- SqlFormatter.cs
- COM2FontConverter.cs
- ValidationErrorEventArgs.cs
- Label.cs
- SqlDataSourceView.cs
- TextRunCache.cs
- DrawingVisualDrawingContext.cs
- SqlUtils.cs
- ElementProxy.cs
- _CacheStreams.cs
- StaticFileHandler.cs
- FillRuleValidation.cs