G
For simple programs, you can make a self-cleaning window of the league that's in construction somewhere. You can optimize StringBuilder's, and you can only get out of the open.For complex commercial programmes (or screaming user programmes), the foot window should be hand-held, possibly on a deposit or a button in a single window. And MessageBox's for serious mistakes, no one's canceled.The good share of the users is not inexorable skies and, in case of a problem, they are able to see the last line in the leg, and the maintenance and administrators accompanying your program will sing to you, because it's not once the adhesive is that some important programme has a poor interface and almost doesn't lead the log-fail, and then the users can turn it off. Hundreds/thousands of man-hours a day goes to the pipe, because the program doesn't have a stupid Multiline-MessageBox, which would have bluntly removed the connection log.It's an example of life.The more messages in the window of the league are the better (nor the final jusver, and then the person who deals with the problems, and they will be, they will be) if there is too much, the levels of logic.As for stack-trace, if an application in a debug-mode, it can be removed in the interface.Everything in the interface log is even successful.In the case of file logs, only problems and launch procedures (a little telemetry would not harm) and problems of those that are not internal problems but relate to interaction with external interfaces: tcp/udp interfaces, prohibitions of access to files, incorrect data entry, etc. ♪Where you clearly catch the expected error in try-catch (e.g. server unavailable) - make a mistake to the user, with possible solutions that suggest that there might be a mistake but for some unknown reasons - additional stack-trace to the log file.Other ways are syslog servers.Another option is the subsidiary process, which receives a detailed parent ' s log (paypa) and, in the case of the parent ' s collapse, removes and logs the latest act/loss log. This approach may now have more advanced alternatives.If there's any errors in the brief, it's always necessary to get out.When the user (which includes the maintenance of the admins) has a problem, operates on the following algorithm:Do something with the program.Oh, something's wrong.Some kind of mistake.What's the problem? What's the reason?How do you make it work?Correct and return to paragraph 0If not available, seek information on the side:If the information in the interior is found, to paragraph 5, if the treatment of the responsible person (conditional support) is capable of solving the problem.Tech support repeats all previous actions, but in order to go into the interior, he can look into his own instructions (all skilled scripts with the final phrase: "stop the tires, reboot the trump."If the user of a normal mortal man is bolted on him, and he's either moving on and going on to find a solution (if the skills permit) and, rather, eventually, forgetting your program. If the user of the corporation and the maintenance is obliged to solve the problem, there is a ticket and the problem is already solved by more skilled people.The way forward is re-established, people are trying to solve the problem, go into the interior and subsequently connect with those who sold/written the program in one way or another.At 0-3 points, it's just in the interface.3-5 - sufficient messagebox.4-9 - watches active log.6-9 - if the user is not a jusver, but rather an enthusiast with skills, he's already reading the file log and he's looking at what stage the wrong work is, and there's a need for some detailed instructions with a potential list of problems with possible solutions. You can get to the banal, for example, if your server's application and there's no conject to it, the instructions should be, "Don't forget to throw ports in the router, add a firewall/antivus exception."9-10 is the log of the file that will be sent to you.And the cherry on cake number 11-- если с ходу не разберётесь, то придётся выкатывать обновления исключительно для того, чтобы программа писала дополнительную инфу (с стектрейсами и свойствами классов) в лог файл. Более того, придётся это делать для старой версии, которая официально более не поддерживается, но т.к. её купили и ей пользуются...More detailed information will be provided only on the basis of the programme ' s appointment and on which it will be directed.If they ask for a hard-core program, where the user has not seen the errors, and he has no need to deal with anything himself and all this offline without registration and the SMS, one needs one of two: an army of technicians or spikes for this unfinished task manager. Most importantly, it's a manager who, apart from the iPhone, didn't use anything, and at the first time an incorrect steamer runs to demand that he's got everything he's got, screaming to the hell, and carrying the software. ♪ ♪Good program isn't the one that hides the mistakes under an interface, and that gives them more opportunities to solve them (this is better). There were, there are and will always be. It's just that they can be solved. Ultimately, programmes are chosen where the problem can be solved on its own than those where you wait for a week while the ticket reaches the right person to tell him to move the vindu.And in response to the question:Что делать с исключениями новичку-разработчику десктопного приложения, чтобы пользователь не растерялся при его возникновении?I'd say, if you want the user to solve the problem yourself (if it's not a bang in the code of course, but problems with external resources), more checks are better, like, "the sir is inaccessible, the port of work, the file is damaged, the second of the server, the poster should not jump off, but be checked before it occurs, with more detailed information on the rolling window.Something's come up with me, because I'm sick of being a prophecy when I want to say, "here's the last line in the logical window, special to you," like the admin, when the program doesn't know anything, and it's like people work, and as a camper when I want to solve the problem, and the app is a black box. I hope I didn't spoil the cups.