Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / IO / FileLoadException.cs / 1305376 / FileLoadException.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: FileLoadException
**
** [....]
** [....]
**
**
** Purpose: Exception for failure to load a file that was successfully found.
**
**
===========================================================*/
using System;
using System.Globalization;
using System.Runtime.Serialization;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
using System.Security;
using System.Security.Permissions;
using System.Runtime.Versioning;
using SecurityException = System.Security.SecurityException;
namespace System.IO {
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class FileLoadException : IOException {
private String _fileName; // the name of the file we could not load.
private String _fusionLog; // fusion log (when applicable)
public FileLoadException()
: base(Environment.GetResourceString("IO.FileLoad")) {
SetErrorCode(__HResults.COR_E_FILELOAD);
}
public FileLoadException(String message)
: base(message) {
SetErrorCode(__HResults.COR_E_FILELOAD);
}
public FileLoadException(String message, Exception inner)
: base(message, inner) {
SetErrorCode(__HResults.COR_E_FILELOAD);
}
public FileLoadException(String message, String fileName) : base(message)
{
SetErrorCode(__HResults.COR_E_FILELOAD);
_fileName = fileName;
}
public FileLoadException(String message, String fileName, Exception inner)
: base(message, inner) {
SetErrorCode(__HResults.COR_E_FILELOAD);
_fileName = fileName;
}
public override String Message
{
get {
SetMessageField();
return _message;
}
}
private void SetMessageField()
{
if (_message == null)
_message = FormatFileLoadExceptionMessage(_fileName, HResult);
}
public String FileName {
get { return _fileName; }
}
[System.Security.SecuritySafeCritical] // auto-generated
public override String ToString()
{
String s = GetType().FullName + ": " + Message;
if (_fileName != null && _fileName.Length != 0)
s += Environment.NewLine + Environment.GetResourceString("IO.FileName_Name", _fileName);
if (InnerException != null)
s = s + " ---> " + InnerException.ToString();
if (StackTrace != null)
s += Environment.NewLine + StackTrace;
#if FEATURE_FUSION
try
{
if(FusionLog!=null)
{
if (s==null)
s=" ";
s+=Environment.NewLine;
s+=Environment.NewLine;
s+=FusionLog;
}
}
catch(SecurityException)
{
}
#endif // FEATURE_FUSION
return s;
}
[System.Security.SecuritySafeCritical] // auto-generated
protected FileLoadException(SerializationInfo info, StreamingContext context) : base (info, context) {
// Base class constructor will check info != null.
_fileName = info.GetString("FileLoad_FileName");
try
{
_fusionLog = info.GetString("FileLoad_FusionLog");
}
catch
{
_fusionLog = null;
}
}
private FileLoadException(String fileName, String fusionLog,int hResult)
: base(null)
{
SetErrorCode(hResult);
_fileName = fileName;
_fusionLog=fusionLog;
SetMessageField();
}
public String FusionLog {
[System.Security.SecuritySafeCritical] // auto-generated
[SecurityPermissionAttribute( SecurityAction.Demand, Flags = SecurityPermissionFlag.ControlEvidence | SecurityPermissionFlag.ControlPolicy)]
get { return _fusionLog; }
}
[System.Security.SecurityCritical] // auto-generated_required
public override void GetObjectData(SerializationInfo info, StreamingContext context) {
// Serialize data for our base classes. base will verify info != null.
base.GetObjectData(info, context);
// Serialize data for this class
info.AddValue("FileLoad_FileName", _fileName, typeof(String));
try
{
info.AddValue("FileLoad_FusionLog", FusionLog, typeof(String));
}
catch (SecurityException)
{
}
}
[System.Security.SecuritySafeCritical] // auto-generated
internal static String FormatFileLoadExceptionMessage(String fileName,
int hResult)
{
string format = null;
GetFileLoadExceptionMessage(hResult, JitHelpers.GetStringHandleOnStack(ref format));
string message = null;
GetMessageForHR(hResult, JitHelpers.GetStringHandleOnStack(ref message));
return String.Format(CultureInfo.CurrentCulture, format, fileName, message);
}
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[DllImport(JitHelpers.QCall, CharSet = CharSet.Unicode)]
[SuppressUnmanagedCodeSecurity]
private static extern void GetFileLoadExceptionMessage(int hResult, StringHandleOnStack retString);
[System.Security.SecurityCritical] // auto-generated
[ResourceExposure(ResourceScope.None)]
[DllImport(JitHelpers.QCall, CharSet = CharSet.Unicode)]
[SuppressUnmanagedCodeSecurity]
private static extern void GetMessageForHR(int hresult, StringHandleOnStack retString);
}
}
// 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
- ExpressionBuilderCollection.cs
- GraphicsContainer.cs
- TagNameToTypeMapper.cs
- MethodBuilderInstantiation.cs
- WriteTimeStream.cs
- DataAccessor.cs
- XmlDeclaration.cs
- FileDialogCustomPlaces.cs
- MonthChangedEventArgs.cs
- DragEvent.cs
- InkCanvas.cs
- PrimitiveSchema.cs
- OutOfProcStateClientManager.cs
- CultureInfoConverter.cs
- TextEditorDragDrop.cs
- ListBindingHelper.cs
- ProfilePropertySettings.cs
- WindowShowOrOpenTracker.cs
- WmfPlaceableFileHeader.cs
- DescendantBaseQuery.cs
- ValuePatternIdentifiers.cs
- HostingPreferredMapPath.cs
- CultureInfoConverter.cs
- DataGridViewBand.cs
- ControlDesigner.cs
- AutomationElement.cs
- CapacityStreamGeometryContext.cs
- ExpandableObjectConverter.cs
- HTTPRemotingHandler.cs
- AlternateViewCollection.cs
- AuthorizationBehavior.cs
- MobileControlBuilder.cs
- Math.cs
- TreeViewBindingsEditor.cs
- SHA256.cs
- Executor.cs
- CompleteWizardStep.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- ControlBuilderAttribute.cs
- _ServiceNameStore.cs
- UnsafeNativeMethods.cs
- DataGridViewAdvancedBorderStyle.cs
- CodeNamespace.cs
- ECDiffieHellmanPublicKey.cs
- versioninfo.cs
- DeferredReference.cs
- PopupEventArgs.cs
- CodeAccessSecurityEngine.cs
- Rect3D.cs
- Exception.cs
- OdbcUtils.cs
- DesignerView.Commands.cs
- TableColumnCollectionInternal.cs
- SimpleRecyclingCache.cs
- XXXInfos.cs
- PlatformCulture.cs
- AnimationLayer.cs
- DownloadProgressEventArgs.cs
- InternalTypeHelper.cs
- DetailsViewPageEventArgs.cs
- StoragePropertyMapping.cs
- PageTheme.cs
- DateTimeOffset.cs
- TextElementEnumerator.cs
- CodeTypeParameterCollection.cs
- ResourceReferenceExpressionConverter.cs
- WindowsFormsEditorServiceHelper.cs
- ColorComboBox.cs
- EventMap.cs
- SubpageParaClient.cs
- XsdDuration.cs
- ClientRuntimeConfig.cs
- GcSettings.cs
- ResourceDescriptionAttribute.cs
- CqlErrorHelper.cs
- XmlSchemaChoice.cs
- ContainerUIElement3D.cs
- PointAnimationUsingKeyFrames.cs
- InvokeWebServiceDesigner.cs
- PointConverter.cs
- SafeHandles.cs
- _IPv4Address.cs
- Material.cs
- ListItemCollection.cs
- CodeTypeMemberCollection.cs
- DelayedRegex.cs
- PageAsyncTaskManager.cs
- ParamArrayAttribute.cs
- TimelineGroup.cs
- UserMapPath.cs
- HttpHostedTransportConfiguration.cs
- AutomationAttributeInfo.cs
- EndpointAddress.cs
- TextSelectionHelper.cs
- EmptyQuery.cs
- HttpProfileBase.cs
- SessionIDManager.cs
- SchemaManager.cs
- ParseNumbers.cs
- FixedSOMTableRow.cs