flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2 |
Author |
|
LocoDelAssembly
http://msdn.microsoft.com/en-us/library/aa383751%28v=vs.85%29.aspx
Quote: BOOL ![]() JohnFound, I think that the documentation leaves the possibility for other kinds of errors open: Quote: If there is an error, the return value is -1. *For example, the function fails if hWnd is an invalid window handle or lpMsg is an invalid pointer. To get extended error information, call GetLastError. |
|||
![]() |
|
Alphonso
revolution wrote: Since we are wasting time trying to optimise this, then let's do it properly. What if you just test for -1, ignore eax = 0 and process WM_QUIT outside the loop? |
|||
![]() |
|
shutdownall
mindcooler wrote: @shutdownall Yes possibly exit. It depends on the error. It is not fine if a program autocloses (possibly exit = WM_QUIT in your example) with no hint at all. In this case there is no difference between a crash. At least program should give a MessageBox to alert the autoclose due to an error. Maybe give someone the chance to save some modified data. Or maybe program could stop and cleanup some other processes which may cause data loss or something. ![]() |
|||
![]() |
|
mindcooler
Well, as I don't know what could possibly cause a such an error in my program, I don't have a strategy for recovery, so I just make it quit. It is as good indication as anything else for my purposes. As the others are saying, the most probably cause for getting an error like this is errors in the parameters, and I don't have any programs that deal with savable data yet
![]() |
|||
![]() |
|
shutdownall
mindcooler wrote: and I don't have any programs that deal with savable data yet When you have, you should take care of data. Maybe an editor is crashing, would be nice to have at least a copy of the contents before quitting program. This could be done in a temporary file and let the user decide after, if content seems to be valid or not. One example is the firefox browser with tabbed browsing. Not long time ago I closed accidently a tab with some well typed text in a window on a website (forum). That was at least half an hour of work. The function "restore closed tab" saved my ass in this way. ![]() |
|||
![]() |
|
JohnFound
Code: xor eax, eax jz continue ; what if the CPU have bug in the ALU? ; Handle the error and exit! call [ExitProcess] continue: |
|||
![]() |
|
revolution
JohnFound wrote:
|
|||
![]() |
|
mindcooler
shutdownall wrote:
When I have data, it's easy to change to jmp dumpandquit, which is a call save and ret. And/or use autosave. Still, I'm unsure if I'm ever going to see the error in my lifetime ![]() _________________ This is a block of text that can be added to posts you make. |
|||
![]() |
|
shutdownall
mindcooler wrote:
I wouldn't bet on it. We are talking about MS software. ![]() |
|||
![]() |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.