15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Trapping Drive Not Ready message

Jim Tannenbaum -- jimt1@voicenet.com
Tuesday, January 07, 1997


Environment: MSVC 4.0 Win95

In the old DOS days, I wrote a critical interrupt handler to handle the
Drive Not Ready (Abort, Retry, Fail) problem when the user didn't close the
drive door.

Is there a similar method under MFC?  Does try catch handle DOS critical errors?

TIA

Jet

JJM Systems, Inc                 Phone: (215) 672-3660
1 Ivybrook Blvd, Suite 190       Fax:   (215) 672-5702
Ivyland, PA  19874               Net:   jimt1@voicenet.com





Charles Prineas -- onramp@magna.com.au
Wednesday, January 08, 1997

>In the old DOS days

Oh - those were the days!

>I wrote a critical interrupt handler to handle the
>Drive Not Ready (Abort, Retry, Fail) problem when the user didn't close the
>drive door.
>Is there a similar method under MFC?  Does try catch handle DOS critical 
>errors?

You can probably handle this in one of three ways:

1. You can call the SetErrorMode() function to disable the Error Box.
   Call it as follows:
   
     SetErrorMode(SEM_FAILCRITICALERRORS);

   Any function that fails will now return a Windows error code that you
   will have to check for (rather than raise an exception).

2. Put a try/catch around any code that may raise an exception. This way you
   will get to handle the exception before Windows does.

3. Set your own exception handler by calling SetUnhandledExceptionFilter().
   Any exception that you don't want to handle should be passed on to 
   Windows by calling UnhandledExceptionFilter().

Regards,          | Resources for REAL Programmers
Charles Prineas   | http://www.prineas.com/



Mike Blaszczak -- mikeblas@nwlink.com
Wednesday, January 08, 1997

[Mini-digest: 5 responses]

At 19:48 1/7/97 -0500, Jim Tannenbaum wrote:

>Environment: MSVC 4.0 Win95

>In the old DOS days, I wrote a critical interrupt handler to handle the
>Drive Not Ready (Abort, Retry, Fail) problem when the user didn't close the
>drive door.


>Is there a similar method under MFC? 

No.  Windows handles the situation directly; see the ::SetErrorMode() API
documentation.

>Does try catch handle DOS critical errors?

While you're running Windows 95, DOS isn't involved in this activity.

>TIA

BMAHT.

.B ekiM
http://www.nwlink.com/~mikeblas/
Why does the "new" Corvette look like a 1993 RX-7?
These words are my own. I do not speak on behalf of Microsoft.

-----From: David Lowndes 

>In the old DOS days, I wrote a critical interrupt handler to handle the
Drive Not Ready (Abort, Retry, Fail) problem when the user didn't close
the
drive door.
<
Use SetErrorMode( SEM_FAILCRITICALERRORS ) to prevent the system
message box report of the error. You may also need to specify
SEM_NOOPENFILEERRORBOX too.
>
-----From: "Simon Hunt" 

Try SetErrorMode (SEM_FAILCRITICALERRORS)

Remember to restore the original setting after accessing the drive.

------------------------------------------------------------
Simon Hunt, Director
Challenge Computer Systems Pty. Ltd.
Postal: 4 Victoria Street, Mile End, South Australia 5031
Phone: +61 8 8351 7333  Fax: +61 8 8351 7101
Email: slhunt@ozemail.com.au
------------------------------------------------------------

----------
> From: Jim Tannenbaum 
> To: mfc-l@netcom.com
> Subject: Trapping Drive Not Ready message
> Date: Wednesday, 8 January 1997 11:18 AM
> 
> 
> Environment: MSVC 4.0 Win95
> 
> In the old DOS days, I wrote a critical interrupt handler to handle the
> Drive Not Ready (Abort, Retry, Fail) problem when the user didn't close
the
> drive door.
> 
> Is there a similar method under MFC?  Does try catch handle DOS critical
errors?
> 
> TIA
> 
> Jet
> 
> JJM Systems, Inc                 Phone: (215) 672-3660
> 1 Ivybrook Blvd, Suite 190       Fax:   (215) 672-5702
> Ivyland, PA  19874               Net:   jimt1@voicenet.com
> 
> 
-----From: Mario Contestabile

>In the old DOS days, I wrote a critical interrupt handler to handle the
>Drive Not Ready (Abort, Retry, Fail) problem when the user didn't close the
>drive door.
>
>Is there a similar method under MFC?  Does try catch handle DOS critical 
errors?

SEH under Win32 handles hardware and software exceptions.
You can probably catch a CFileException.

mcontest@universal.com

-----From: hou@tfn.com (Bing Hou)

     Yes, the try-catch will give you something like this:

        TRY
        {
                CFile afile("a:\\test.txt", CFile::modeRead);           
        }
        CATCH(CFileException, e)
        {
                if(e->m_cause == CFileException::accessDenied)
                        TRACE("Error code %d\n", (int)e->m_lOsError);
        }
        END_CATCH 


        -Bing      
______________________________ Reply Separator _________________________________
Subject: Trapping Drive Not Ready message
Author:  jimt1@voicenet.com (Jim Tannenbaum) at Internet
Date:    1/7/97 7:48 PM


     
Environment: MSVC 4.0 Win95
     
In the old DOS days, I wrote a critical interrupt handler to handle the 
Drive Not Ready (Abort, Retry, Fail) problem when the user didn't close the 
drive door.
     
Is there a similar method under MFC?  Does try catch handle DOS critical errors?
     
TIA
     
Jet
     
JJM Systems, Inc                 Phone: (215) 672-3660 
1 Ivybrook Blvd, Suite 190       Fax:   (215) 672-5702
Ivyland, PA  19874               Net:   jimt1@voicenet.com
     
     




| Вернуться в корень Архива |