Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / IO / FileLoadException.cs / 1 / 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.CompilerServices;
using System.Security.Permissions;
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; }
}
public override String ToString()
{
String s = GetType().FullName + ": " + Message;
if (_fileName != null && _fileName.Length != 0)
s += Environment.NewLine + String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("IO.FileName_Name"), _fileName);
if (InnerException != null)
s = s + " ---> " + InnerException.ToString();
if (StackTrace != null)
s += Environment.NewLine + StackTrace;
try
{
if(FusionLog!=null)
{
if (s==null)
s=" ";
s+=Environment.NewLine;
s+=Environment.NewLine;
s+=FusionLog;
}
}
catch(SecurityException)
{
}
return s;
}
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 {
[SecurityPermissionAttribute( SecurityAction.Demand, Flags = SecurityPermissionFlag.ControlEvidence | SecurityPermissionFlag.ControlPolicy)]
get { return _fusionLog; }
}
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)]
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)
{
}
}
internal static String FormatFileLoadExceptionMessage(String fileName,
int hResult)
{
return String.Format(CultureInfo.CurrentCulture, GetFileLoadExceptionMessage(hResult), fileName, GetMessageForHR(hResult));
}
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private static extern String GetFileLoadExceptionMessage(int hResult);
[MethodImplAttribute(MethodImplOptions.InternalCall)]
private static extern String GetMessageForHR(int hresult);
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ViewGenResults.cs
- SmiRecordBuffer.cs
- DrawTreeNodeEventArgs.cs
- SpnegoTokenAuthenticator.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- AttributeQuery.cs
- xmlfixedPageInfo.cs
- TemplatedWizardStep.cs
- TypeSystem.cs
- FontDifferentiator.cs
- AbstractDataSvcMapFileLoader.cs
- NativeMethods.cs
- QuaternionRotation3D.cs
- PrivilegedConfigurationManager.cs
- TypeConverter.cs
- ClientRuntimeConfig.cs
- SoapAttributes.cs
- HttpPostClientProtocol.cs
- Button.cs
- FastEncoder.cs
- ExpressionWriter.cs
- StringOutput.cs
- Misc.cs
- ExpandableObjectConverter.cs
- DataGridViewColumnCollectionDialog.cs
- Int32Storage.cs
- mediaeventargs.cs
- QilName.cs
- KnownTypesProvider.cs
- GridViewSortEventArgs.cs
- InvokeGenerator.cs
- StylusDevice.cs
- ParenthesizePropertyNameAttribute.cs
- VarRefManager.cs
- MachineKeySection.cs
- _Semaphore.cs
- SystemIPInterfaceStatistics.cs
- MouseGestureConverter.cs
- TreeView.cs
- FormsIdentity.cs
- DataRowChangeEvent.cs
- XmlSchemas.cs
- TwoPhaseCommitProxy.cs
- TextTreeInsertUndoUnit.cs
- ConfigurationFileMap.cs
- TextModifier.cs
- oledbmetadatacolumnnames.cs
- JsonStringDataContract.cs
- WinInetCache.cs
- StylusPointProperties.cs
- X500Name.cs
- ImageMapEventArgs.cs
- DES.cs
- IncrementalHitTester.cs
- SQLInt16Storage.cs
- QilTernary.cs
- ProcessInfo.cs
- X509ScopedServiceCertificateElement.cs
- GCHandleCookieTable.cs
- QueryStoreStatusRequest.cs
- CngAlgorithm.cs
- OpacityConverter.cs
- BooleanStorage.cs
- TransactionContextValidator.cs
- TreeViewDesigner.cs
- SqlCacheDependencyDatabaseCollection.cs
- DataGridTablesFactory.cs
- XmlReflectionMember.cs
- CollectionChangedEventManager.cs
- DataSourceDescriptorCollection.cs
- ServiceReflector.cs
- PropertySourceInfo.cs
- HealthMonitoringSectionHelper.cs
- PersistenceProviderBehavior.cs
- EqualityArray.cs
- PointKeyFrameCollection.cs
- SqlSupersetValidator.cs
- CoreSwitches.cs
- FileChangesMonitor.cs
- TableLayoutColumnStyleCollection.cs
- securestring.cs
- XmlSchemaExporter.cs
- ObservableCollection.cs
- BuildProviderInstallComponent.cs
- MetadataException.cs
- FilteredAttributeCollection.cs
- AlternateView.cs
- CancellationHandler.cs
- SqlTypeConverter.cs
- ValueUnavailableException.cs
- XamlTemplateSerializer.cs
- SystemException.cs
- WmlMobileTextWriter.cs
- DataBindEngine.cs
- ShaderEffect.cs
- DbConnectionClosed.cs
- EditorOptionAttribute.cs
- StringSorter.cs
- SurrogateSelector.cs
- TripleDESCryptoServiceProvider.cs