Home  >  Article  >  Web Front-end  >  How to solve too many try catches in Typescript?

How to solve too many try catches in Typescript?

WBOY
WBOYforward
2023-09-12 13:01:02887browse

如何解决Typescript中过多的try catch?

We can use try-catch statements to resolve errors in TypeScript. Sometimes, we need to add multiple try-catch blocks in the code to handle multiple errors.

When we add multiple try-catch statements to the code, the code becomes unreadable and refactoring becomes a headache for developers. In this tutorial, we will learn to convert excessive try-catch blocks into a single try-catch block that can manage multiple errors.

grammar

Users can use a single try-catch block in TypeScript according to the following syntax.

try {
   throw new Error("error_message");
   // this code will not be executed
}
catch (error) {
   // manage the error
}

In the above syntax, we throw the error into the try block and catch the error in the catch block.

Whenever we encounter any error in the try block, the execution control goes directly to the catch statement without executing other try block code.

Example 1: Too many try-catch blocks

In the example below, we have added four try-catch blocks. We throw errors with different messages from each try-catch block.

Users can see the error message printed by each catch block in the output.

try {
   console.log("Inside the first try block");
   throw new Error("first error message");
} catch (error) {
   console.log(error.message);
}

try {
   console.log("Inside the second try block");
   throw new Error("second error message");
} catch (error) {
   console.log(error.message);
}

try {
   console.log("Inside the third try block");
   throw new Error("Third error message");
} catch (error) {
   console.log(error.message);
}

try {
   console.log("Inside the fourth try block");
   throw new Error("Fourth error message");
} catch (error) {
   console.log(error.message);
}

When compiled, it will generate the following JavaScript code.

try {
   console.log("Inside the first try block");
   throw new Error("first error message");
}
catch (error) {
   console.log(error.message);
}
try {
   console.log("Inside the second try block");
   throw new Error("second error message");
}
catch (error) {
   console.log(error.message);
}
try {
   console.log("Inside the third try block");
   throw new Error("Third error message");
}
catch (error) {
   console.log(error.message);
}
try {
   console.log("Inside the fourth try block");
   throw new Error("Fourth error message");
}
catch (error) {
   console.log(error.message);
}

Output

The above code will produce the following output -

Inside the first try block
first error message
Inside the second try block
second error message
Inside the third try block
Third error message
Inside the fourth try block
Fourth error message

From the above example, users can understand how the code becomes unreadable and unclear when we use too many try-catch statements in a single code.

Now, we will learn to use a single try-catch block to handle multiple blocks of code with different errors.

Example 2

In the example below, we create the solveProblems() function. It accepts a function as parameter and calls the function in a try block. If the function throws any error, we can catch it in a single block.

function func2() {
   throw new Error("This error is from second function!");
}

function func3() {
   let num = 10;
   num.toPrecision(1000);
}
function solveProblems(func: any) {
   // calling the callback function in the try block
   try {
      func();
   } catch (error) {
      console.log(error.message);
   }
}

// calling functions
solveProblems(func2);
solveProblems(func3);

When compiled, it will generate the following JavaScript code -

function func2() {
   throw new Error("This error is from second function!");
}
function func3() {
   var num = 10;
   num.toPrecision(1000);
}
function solveProblems(func) {
   // calling the callback function in the try block
   try {
      func();
   }
   catch (error) {
      console.log(error.message);
   }
}
// calling functions
solveProblems(func2);
solveProblems(func3);

Output

The above code will produce the following output -

This error is from second function!
toPrecision() argument must be between 1 and 100

From the above example, users can understand how to remove multiple try-catch blocks by replacing multiple try-catch blocks with a single try-catch block. Users only need to create a separate function for each separate block of code and can call each function one by one in a single try block.

The above is the detailed content of How to solve too many try catches in Typescript?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete