49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Error Handling | |||
|  | localeTitle: 错误处理 | |||
|  | --- | |||
|  | # C ++异常处理
 | |||
|  | 
 | |||
|  | 例外是在执行程序期间出现的问题。例外提供了一种将控制从程序的一个部分转移到另一个部分的方法。 C ++异常处理基于三个关键字:#try,#catch和#throw。 | |||
|  | 
 | |||
|  | *   # throw - 当问题出现时,程序会抛出异常。这是使用throw关键字完成的。 | |||
|  |      | |||
|  | *   # catch - 程序在您要处理问题的程序中的位置捕获异常处理程序的异常。 catch关键字表示捕获异常。 | |||
|  |      | |||
|  | *   #try - try块标识将激活特定异常的代码块。接下来是一个或多个catch块。 | |||
|  |      | |||
|  | 
 | |||
|  | ```CPP | |||
|  | #include <iostream> 
 | |||
|  |  using namespace std;  | |||
|  |   | |||
|  |  int main()  | |||
|  |  {  | |||
|  |    int x = -1;  | |||
|  |   | |||
|  |    // Some code  | |||
|  |    cout << "Before try \n";  | |||
|  |    try {  | |||
|  |       cout << "Inside try \n";  | |||
|  |       if (x < 0)  | |||
|  |       {  | |||
|  |          throw x;  | |||
|  |          cout << "After throw (Never executed) \n";  | |||
|  |       }  | |||
|  |    }  | |||
|  |    catch (int x ) {  | |||
|  |       cout << "Exception Caught \n";  | |||
|  |    }  | |||
|  |   | |||
|  |    cout << "After catch (Will be executed) \n";  | |||
|  |    return 0;  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | # 在你继续之前......
 | |||
|  | 
 | |||
|  | ## 回顾
 | |||
|  | 
 | |||
|  | *   错误类型的分组。 | |||
|  | *   从正常代码中分离错误处理代码。 | |||
|  | *   函数/方法可以处理他们选择的任何异常。 |