Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / IO / FileNotFoundException.cs / 1305376 / FileNotFoundException.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*============================================================
**
** Class: FileNotFoundException
**
** [....]
** [....]
**
**
** Purpose: Exception for accessing a file that doesn't exist.
**
**
===========================================================*/
using System;
using System.Runtime.Serialization;
using System.Security.Permissions;
using SecurityException = System.Security.SecurityException;
using System.Globalization;
namespace System.IO {
// Thrown when trying to access a file that doesn't exist on disk.
[Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class FileNotFoundException : IOException {
private String _fileName; // The name of the file that isn't found.
private String _fusionLog; // fusion log (when applicable)
public FileNotFoundException()
: base(Environment.GetResourceString("IO.FileNotFound")) {
SetErrorCode(__HResults.COR_E_FILENOTFOUND);
}
public FileNotFoundException(String message)
: base(message) {
SetErrorCode(__HResults.COR_E_FILENOTFOUND);
}
public FileNotFoundException(String message, Exception innerException)
: base(message, innerException) {
SetErrorCode(__HResults.COR_E_FILENOTFOUND);
}
public FileNotFoundException(String message, String fileName) : base(message)
{
SetErrorCode(__HResults.COR_E_FILENOTFOUND);
_fileName = fileName;
}
public FileNotFoundException(String message, String fileName, Exception innerException)
: base(message, innerException) {
SetErrorCode(__HResults.COR_E_FILENOTFOUND);
_fileName = fileName;
}
public override String Message
{
get {
SetMessageField();
return _message;
}
}
private void SetMessageField()
{
if (_message == null) {
if ((_fileName == null) &&
(HResult == System.__HResults.COR_E_EXCEPTION))
_message = Environment.GetResourceString("IO.FileNotFound");
else if( _fileName != null)
_message = FileLoadException.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
return s;
}
[System.Security.SecuritySafeCritical] // auto-generated
protected FileNotFoundException(SerializationInfo info, StreamingContext context) : base (info, context) {
// Base class constructor will check info != null.
_fileName = info.GetString("FileNotFound_FileName");
try
{
_fusionLog = info.GetString("FileNotFound_FusionLog");
}
catch
{
_fusionLog = null;
}
}
private FileNotFoundException(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("FileNotFound_FileName", _fileName, typeof(String));
try
{
info.AddValue("FileNotFound_FusionLog", FusionLog, typeof(String));
}
catch (SecurityException)
{
}
}
}
}
// 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
- WebPartTracker.cs
- ProcessModelInfo.cs
- PeerCustomResolverSettings.cs
- ControlTemplate.cs
- NodeLabelEditEvent.cs
- EventWaitHandle.cs
- XPathItem.cs
- EventNotify.cs
- Vector3dCollection.cs
- baseshape.cs
- WebPartHeaderCloseVerb.cs
- HttpListenerPrefixCollection.cs
- NotifyIcon.cs
- DataGridColumn.cs
- DataKey.cs
- Parameter.cs
- ErrorHandler.cs
- CompositeFontFamily.cs
- BitVector32.cs
- Win32Native.cs
- InternalSafeNativeMethods.cs
- ConfigurationElementProperty.cs
- StringPropertyBuilder.cs
- DataColumnMapping.cs
- DataServiceQuery.cs
- ToolStripComboBox.cs
- OdbcConnection.cs
- SymbolPair.cs
- CompilationUnit.cs
- CompensatableSequenceActivity.cs
- InheritanceRules.cs
- FrameworkContentElement.cs
- JoinGraph.cs
- WinEventQueueItem.cs
- MultiByteCodec.cs
- DropDownList.cs
- SecurityState.cs
- SqlMetaData.cs
- HtmlInputFile.cs
- SynchronizedMessageSource.cs
- PropertyEmitter.cs
- CodeGenerationManager.cs
- BitmapEffectInput.cs
- PriorityBindingExpression.cs
- BeginStoryboard.cs
- WindowCollection.cs
- TriState.cs
- VisualStateManager.cs
- ZipIOModeEnforcingStream.cs
- DataGridViewHitTestInfo.cs
- XmlDataLoader.cs
- TreePrinter.cs
- IntSecurity.cs
- LicenseException.cs
- CheckPair.cs
- CookieProtection.cs
- InvokeProviderWrapper.cs
- ServerIdentity.cs
- ReflectionServiceProvider.cs
- WebPartAddingEventArgs.cs
- StylusPointDescription.cs
- DesignTimeXamlWriter.cs
- DataControlCommands.cs
- XmlDownloadManager.cs
- DataIdProcessor.cs
- WpfMemberInvoker.cs
- StaticSiteMapProvider.cs
- OdbcDataAdapter.cs
- CodeTypeOfExpression.cs
- RecordBuilder.cs
- GeneratedView.cs
- SqlConnectionString.cs
- RenderTargetBitmap.cs
- RecognitionResult.cs
- SmiRequestExecutor.cs
- _AutoWebProxyScriptEngine.cs
- CngUIPolicy.cs
- AuthenticationManager.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- ToolStripItem.cs
- FreezableOperations.cs
- TokenBasedSetEnumerator.cs
- PropertyDescriptor.cs
- CatalogZone.cs
- DynamicDataManager.cs
- Msmq4PoisonHandler.cs
- ToolStripItemCollection.cs
- XmlSchemaExporter.cs
- NeutralResourcesLanguageAttribute.cs
- ListControl.cs
- SliderAutomationPeer.cs
- JournalEntryStack.cs
- XPathQilFactory.cs
- Button.cs
- ListBoxAutomationPeer.cs
- EdmSchemaError.cs
- SizeValueSerializer.cs
- UserNamePasswordValidator.cs
- ArrayElementGridEntry.cs
- AsyncDataRequest.cs