34 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Exceptions in Java | |||
|  | localeTitle: Java中的例外情况 | |||
|  | --- | |||
|  | ## 什么是例外?
 | |||
|  | 
 | |||
|  | 异常是一个不需要的或意外的事件,它发生在程序执行期间,即在运行时,会破坏程序指令的正常流程。 | |||
|  | 
 | |||
|  | ## 错误与异常
 | |||
|  | 
 | |||
|  | 错误:错误表示合理的应用程序不应该尝试捕获的严重问题。 例外:异常表示合理的应用程序可能尝试捕获的条件。 | |||
|  | 
 | |||
|  | ## 异常层次结构
 | |||
|  | 
 | |||
|  | 所有异常和错误类型都是Throwable类的子类,它是层次结构的基类。一个分支以Exception为首。此类用于用户程序应捕获的异常条件。 NullPointerException是此类异常的示例。另一个分支,Java运行时系统(JVM)使用Error来指示与运行时环境本身(JRE)有关的错误。 StackOverflowError是此类错误的一个示例。 | |||
|  | 
 | |||
|  | ## 如何使用try-catch子句
 | |||
|  | ``` | |||
|  | try {  | |||
|  |  // block of code to monitor for errors  | |||
|  |  // the code you think can raise an exception  | |||
|  |  }  | |||
|  |  catch (ExceptionType1 exOb) {  | |||
|  |  // exception handler for ExceptionType1  | |||
|  |  }  | |||
|  |  catch (ExceptionType2 exOb) {  | |||
|  |  // exception handler for ExceptionType2  | |||
|  |  }  | |||
|  |  // optional  | |||
|  |  finally {  | |||
|  |  // block of code to be executed after try block ends  | |||
|  |  }  | |||
|  | 
 | |||
|  | ``` |