SORU
29 EYLÜL 2008, PAZARTESİ


C doğal bir durum görebiliyor musunuz# kodu?

C# kodu yerel bir özel durum biraz yönetilmeyen kütüphanede derin atılan yakalayabilir misiniz? Farklı bir şey yapmak lazım yakalamak için ya da bir standart... ... yakalamak deneyin musunuz?

CEVAP
29 EYLÜL 2008, PAZARTESİ


Win32Exception kullanım ve NativeErrorCode özelliğini uygun şekilde işlemek için kullanabilirsiniz.

// http://support.microsoft.com/kb/186550
const int ERROR_FILE_NOT_FOUND = 2;
const int ERROR_ACCESS_DENIED = 5;
const int ERROR_NO_APP_ASSOCIATED = 1155; 

void OpenFile(string filePath)
{
    Process process = new Process();

    try
    {
        // Calls native application registered for the file type
        // This may throw native exception
    	process.StartInfo.FileName = filePath;
    	process.StartInfo.Verb = "Open";
    	process.StartInfo.CreateNoWindow = true;
    	process.Start();
    }
    catch (Win32Exception e)
    {
    	if (e.NativeErrorCode == ERROR_FILE_NOT_FOUND || 
    		e.NativeErrorCode == ERROR_ACCESS_DENIED ||
    		e.NativeErrorCode == ERROR_NO_APP_ASSOCIATED)
    	{
    		MessageBox.Show(this, e.Message, "Error", 
    				MessageBoxButtons.OK, 
    				MessageBoxIcon.Exclamation);
    	}
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • National Geographic

    National Geo

    7 Mayıs 2006
  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006
  • TROPFEST

    TROPFEST

    27 Mart 2007