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
- VariableExpressionConverter.cs
- LambdaCompiler.Address.cs
- ParallelTimeline.cs
- DependencyPropertyValueSerializer.cs
- SchemaNamespaceManager.cs
- Listbox.cs
- CodeExpressionCollection.cs
- ScriptResourceAttribute.cs
- XmlReflectionMember.cs
- RuleSettings.cs
- EditorZone.cs
- InputReferenceExpression.cs
- DrawingAttributes.cs
- CounterSampleCalculator.cs
- RectAnimationBase.cs
- UniqueIdentifierService.cs
- ImageFormat.cs
- Shape.cs
- PrintingPermissionAttribute.cs
- CacheAxisQuery.cs
- HttpException.cs
- DebugControllerThread.cs
- SoapElementAttribute.cs
- RightsManagementProvider.cs
- AdapterDictionary.cs
- SmtpCommands.cs
- XsdDuration.cs
- LogLogRecord.cs
- LateBoundBitmapDecoder.cs
- DockPattern.cs
- HwndTarget.cs
- ManipulationDevice.cs
- WebCodeGenerator.cs
- TableRowCollection.cs
- LocalServiceSecuritySettingsElement.cs
- QilTargetType.cs
- FlowLayoutPanel.cs
- _NegoState.cs
- ManagedWndProcTracker.cs
- SecurityUtils.cs
- FilterQuery.cs
- NameValuePermission.cs
- ConfigXmlComment.cs
- TypefaceMap.cs
- SecurityElement.cs
- CheckBoxRenderer.cs
- EntityContainerEmitter.cs
- PropertyMappingExceptionEventArgs.cs
- FieldToken.cs
- TextServicesContext.cs
- TransformGroup.cs
- DetectEofStream.cs
- GroupBox.cs
- OutputCacheProfileCollection.cs
- XamlTemplateSerializer.cs
- ISFTagAndGuidCache.cs
- EnumerableValidator.cs
- DataGridItemEventArgs.cs
- TextServicesCompartmentEventSink.cs
- TypeSource.cs
- UIElement.cs
- ServiceX509SecurityTokenProvider.cs
- AssemblyHelper.cs
- ActiveXMessageFormatter.cs
- ZoneMembershipCondition.cs
- FormsAuthenticationUserCollection.cs
- SHA256Managed.cs
- relpropertyhelper.cs
- CodeSnippetCompileUnit.cs
- MorphHelper.cs
- WmlImageAdapter.cs
- GeneralTransformGroup.cs
- ProxyWebPartManager.cs
- TypeHelpers.cs
- CollectionViewProxy.cs
- PluggableProtocol.cs
- IndependentlyAnimatedPropertyMetadata.cs
- WindowsTitleBar.cs
- CapabilitiesUse.cs
- EventManager.cs
- RegexStringValidator.cs
- TransformGroup.cs
- Animatable.cs
- WeakEventTable.cs
- DefaultObjectMappingItemCollection.cs
- JavaScriptString.cs
- HttpCacheParams.cs
- EntityAdapter.cs
- NumberSubstitution.cs
- UTF7Encoding.cs
- CodeDomDecompiler.cs
- PageBuildProvider.cs
- RankException.cs
- ManagementClass.cs
- GACIdentityPermission.cs
- HtmlTextViewAdapter.cs
- RuleInfoComparer.cs
- StructuredTypeEmitter.cs
- EntityDataSourceWrapper.cs
- CustomAttribute.cs