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
- HtmlTitle.cs
- ListControl.cs
- ContainerControl.cs
- MailWebEventProvider.cs
- MutexSecurity.cs
- TypeUnloadedException.cs
- DesignerWithHeader.cs
- RequiredAttributeAttribute.cs
- ApplicationException.cs
- TextServicesCompartment.cs
- XsdValidatingReader.cs
- RuntimeVariablesExpression.cs
- SqlMethodAttribute.cs
- Button.cs
- DataException.cs
- CancelRequestedQuery.cs
- WinEventHandler.cs
- PointLight.cs
- MemberMemberBinding.cs
- WorkflowRuntimeElement.cs
- CodeParameterDeclarationExpression.cs
- DESCryptoServiceProvider.cs
- WindowsRichEditRange.cs
- _NetRes.cs
- XmlSerializerFactory.cs
- VerificationException.cs
- SettingsProviderCollection.cs
- ExpandSegmentCollection.cs
- Int64KeyFrameCollection.cs
- SoapIgnoreAttribute.cs
- DataGridCell.cs
- AttributeParameterInfo.cs
- DesignerSerializationManager.cs
- FixedSOMSemanticBox.cs
- CompositionTarget.cs
- TryCatch.cs
- QueryCursorEventArgs.cs
- AutomationPattern.cs
- X509Extension.cs
- MappingModelBuildProvider.cs
- ItemsControl.cs
- AuthenticateEventArgs.cs
- CommandSet.cs
- DateTimeUtil.cs
- MouseActionConverter.cs
- CheckBoxField.cs
- OleDbError.cs
- LinearQuaternionKeyFrame.cs
- QueryReaderSettings.cs
- FormsAuthenticationCredentials.cs
- TransportContext.cs
- SettingsPropertyValueCollection.cs
- MyContact.cs
- DeviceFilterEditorDialog.cs
- KeyGestureValueSerializer.cs
- XamlPointCollectionSerializer.cs
- DataServiceExpressionVisitor.cs
- X509IssuerSerialKeyIdentifierClause.cs
- LinkClickEvent.cs
- SettingsSavedEventArgs.cs
- Int32Converter.cs
- EastAsianLunisolarCalendar.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- OdbcDataAdapter.cs
- SuppressMessageAttribute.cs
- MemberHolder.cs
- Matrix3DConverter.cs
- DependencyObjectType.cs
- Style.cs
- SystemColors.cs
- XPathAncestorQuery.cs
- PropertyPushdownHelper.cs
- InputBinder.cs
- FunctionQuery.cs
- PlainXmlSerializer.cs
- ArrayTypeMismatchException.cs
- TemplateParser.cs
- GenericsInstances.cs
- __FastResourceComparer.cs
- InputBinder.cs
- BmpBitmapEncoder.cs
- CompoundFileIOPermission.cs
- StyleModeStack.cs
- PasswordBoxAutomationPeer.cs
- WindowsStartMenu.cs
- DataFormat.cs
- Evidence.cs
- StaticTextPointer.cs
- MaterialGroup.cs
- XmlRootAttribute.cs
- X509Utils.cs
- NativeRecognizer.cs
- OdbcConnectionHandle.cs
- ToolStripLabel.cs
- DynamicPropertyHolder.cs
- ExpressionPrefixAttribute.cs
- SubstitutionDesigner.cs
- WbemProvider.cs
- HMACSHA384.cs
- EndPoint.cs