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; 
							 | 
						|||
| 
								 | 
							
								 } 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								# 在你继续之前......
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								## 回顾
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*   错误类型的分组。
							 | 
						|||
| 
								 | 
							
								*   从正常代码中分离错误处理代码。
							 | 
						|||
| 
								 | 
							
								*   函数/方法可以处理他们选择的任何异常。
							 |