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
- DrawToolTipEventArgs.cs
- pingexception.cs
- SqlMultiplexer.cs
- CacheForPrimitiveTypes.cs
- Int64Animation.cs
- BrowserTree.cs
- DoubleLinkListEnumerator.cs
- fixedPageContentExtractor.cs
- LinqTreeNodeEvaluator.cs
- XamlStackWriter.cs
- DataFormat.cs
- HttpWebRequest.cs
- SqlParameter.cs
- DriveNotFoundException.cs
- RemotingConfigParser.cs
- PackageRelationshipCollection.cs
- TextEditorSelection.cs
- Parsers.cs
- FloatUtil.cs
- SelectorAutomationPeer.cs
- RowToParametersTransformer.cs
- StateChangeEvent.cs
- RijndaelManagedTransform.cs
- PrintPageEvent.cs
- AnonymousIdentificationModule.cs
- TTSEngineProxy.cs
- RequestStatusBarUpdateEventArgs.cs
- InkCanvasSelectionAdorner.cs
- StringExpressionSet.cs
- KeyBinding.cs
- TabletDevice.cs
- TextFormatter.cs
- XmlNamespaceMapping.cs
- AsyncCompletedEventArgs.cs
- CharacterBufferReference.cs
- ContentElement.cs
- CfgRule.cs
- ToolStripPanelSelectionBehavior.cs
- ToolBarDesigner.cs
- StringUtil.cs
- Label.cs
- SchemaName.cs
- ToolboxBitmapAttribute.cs
- HttpClientCertificate.cs
- COM2ComponentEditor.cs
- EntryIndex.cs
- UnsupportedPolicyOptionsException.cs
- TextCompositionManager.cs
- WriteableBitmap.cs
- ParameterBinding.cs
- ADMembershipProvider.cs
- DeadLetterQueue.cs
- StructuralCache.cs
- RoutedEventHandlerInfo.cs
- ObjectNavigationPropertyMapping.cs
- UndoUnit.cs
- SecondaryViewProvider.cs
- Encoding.cs
- FamilyMapCollection.cs
- TypedCompletedAsyncResult.cs
- BindableAttribute.cs
- TreeNodeCollection.cs
- CaseStatement.cs
- XsltException.cs
- XPathEmptyIterator.cs
- DataObjectEventArgs.cs
- XmlDataCollection.cs
- SafeHandles.cs
- SafeArrayTypeMismatchException.cs
- FontNameEditor.cs
- HMACMD5.cs
- _CacheStreams.cs
- InvalidDataException.cs
- WebBrowserContainer.cs
- VBCodeProvider.cs
- MenuItemBindingCollection.cs
- MsmqIntegrationSecurityElement.cs
- SynchronizingStream.cs
- StringFreezingAttribute.cs
- ThrowHelper.cs
- HierarchicalDataTemplate.cs
- SelectingProviderEventArgs.cs
- DataGridViewCellStateChangedEventArgs.cs
- DataControlFieldCell.cs
- shaperfactory.cs
- MethodCallTranslator.cs
- DbProviderManifest.cs
- DataContractSerializer.cs
- NumericUpDownAccelerationCollection.cs
- ScriptManager.cs
- DynamicVirtualDiscoSearcher.cs
- NotCondition.cs
- ArraySubsetEnumerator.cs
- PropertyBuilder.cs
- CompiledELinqQueryState.cs
- BatchStream.cs
- DesignParameter.cs
- UniqueConstraint.cs
- ToolStripSplitButton.cs
- ThicknessAnimationBase.cs