What are some ways try / catch / throw can develop software , C/C++ Programming

 

Q: What are some ways try / catch / throw can develop software quality?

A: By removing one of the reasons for if statements.

The commonly utilized alternative to try / catch / throw is to return a return code (sometimes called an error code) that the caller explicitly tests through some conditional statement like if. For instance, printf(), scanf() and malloc() work this way: the caller is assume to test the return value to see if the function succeeded.

Though the return code technique is sometimes the most suitable error handling technique, there are some nasty side effects to needless adding if statements:

Degrade quality: This is well known that conditional statements are about ten times more likely to hold errors than any other sort of statement. Thus all other things being equal, if you can remove conditionals / conditional statements from your code, you will possible have more robust code.

Slow down time-to-market: As conditional statements are branch points which are associated to the number of test cases that are required for white-box testing, unnecessary conditional statements enhance the amount of time which needs to be devoted to testing. Essentially if you don't exercise all branch point, there will be instructions within your code that will never have been executed under test conditions till they are seen by your users/customers. That's terrible.

Enhance development cost: Bug finding, bug fixing, and testing are all enhanced by unnecessary control flow difficulty.

thus compared to error reporting by means of return-codes and if, using try / catch / throw is likely to result in code which has fewer bugs, is less costly to develop, and has faster time-to-market. Certainly if your organization doesn't contain any experiential knowledge of try / catch / throw, you might wish to use it on a toy project first just to make sure you know what you're doing you must always get used to a weapon on the firing range before you bring it to the front lines of a shooting war.

Posted Date: 3/19/2013 8:54:31 AM | Location : United States







Related Discussions:- What are some ways try / catch / throw can develop software , Assignment Help, Ask Question on What are some ways try / catch / throw can develop software , Get Answer, Expert's Help, What are some ways try / catch / throw can develop software Discussions

Write discussion on What are some ways try / catch / throw can develop software
Your posts are moderated
Related Questions
Each of the following two procedures defines a method for adding two positive integers in terms of the procedures inc, which increments its argument by 1, and dec, which decrements

Public derivation Public derivations are much more common than private derivations. In this situation: The private members inherited from the base class are inaccessible

Develop a C++ program that uses a while to determine the gross pay (in Dollars) for each of several employees. The company pays “straight-time” for the first 40 hours worked by ea

write a c program to solve exanple of lamis therom

Write a C++ program that can be used to evaluate the credit worthiness of a client. The program reads the credit limit and the price and quantity of the item to be purchased by the

compose a C program to solve the equation z2=(p1/Pg)+(v1^2/2g)+z1 p1=100kpa,v1=2m/s z1=3m P=1000kg/m^3 define g=9.81

Write a program that illustrate  Macros with Arguments? Macros is able to also have arguments, just as functions can. #define AREA(x)(3.14*x*x) Then at any time the prepr

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve betw

Implement (a part of) electronic election Scenario where following political parties are participating in election: PPP, PML and PTI.  Create a class PollingStation where it stor

# include stdio.h> # include string.h> # include conio.h> void main() {           int i=0,j=0,b=0,count=0;           int a[100];           for(i=0;i