2
Answers

if statements VS try catch blocks

Aaron Gusman

Aaron Gusman

18y
7.6k
1

What is the best practice?  What is the most fast?

Is it a good practice to base your applications on exceptions and therefore throwing exceptions and handling them when appropriate rather than making a lot of if statements to check the state of objects before performing a particular algorithm?

if statements are quite heavy on the processor if I'm not mistaken while try catch blocks lock parts of the code.. am I right?  Using try catch blocks and exceptions you could save some code (if statements here and there) whilst by using exceptions you would go straight to the point and if an error occurs you just handle it in a general fashion.

Any help?

Aaron

Answers (2)
0
Bechir Bejaoui
NA 20.1k 5.3m 16y

In this case you have to implement security logic, the .Net provides an entire API  System.Security, you can create a permission set that determines rule of messages transactions 
0
Riccardo
NA 5 0 16y
I mean every outgoing mail of a company (mail from a internal network to outside the network)
0
Bechir Bejaoui
NA 20.1k 5.3m 16y

What do you mean by outgoing mail, do you mean from example a spam?
0
Riccardo
NA 5 0 16y
Thank you very much for your answer!

Probably I should explain a little bit more about the functionality I would like to implement. Basicaly I would like to check every outgoing mail. Therefore I would like to
1. stop the smtp queue
2. wait for messages
3.check these messages (allowed or unallowed and probably remove some of them)
4. Start the smtp queue, so the messages can be send


0
Bechir Bejaoui
NA 20.1k 5.3m 16y

If I well understand your question you're using a Message queue object then you can do

MessageQueue mqueue = new MessageQueue();
            //This method will make the message queue in a standby state for any message
            IAsyncResult Async = mqueue.BeginReceive();

            //TO do perform you code here

            //This method
            Message Recived = mqueue.EndReceive(Async);
           
            //close the message queue
            mqueue.Close();
It's better to do that asynchormously