try..catch块的出现是为了异常处理。
格式为:try{...可能发生异常的代码...}
catch{...对异常的处理...}
finaly{...无论如何都会执行的代码..}
上面的只是一般的格式,同时还会存在以下格式。
1.一个try ,一个或多个catch。
2.一个try,一个或多个catch,一个finally
3.一个try,一个finally。
finaly块中是不允许出现return语句的。出错,控制不能离开finally子句主体。
个人理解应给是catch块(在出现错误的时候执行)可能存在return语句,而如果
catch块出现return那么将在retun执行前执行finally块内的语句。如果finaly块
内出现return语句,那么将无法执行catch块内的return语句。try块内的语句同理(未出现异常将不会执行catch块)。我猜大概就是说这个意思。
因为try是为捕获异常而生,所以会才catch块中捕获异常,通过异常类进行捕获,所以的异常类都继承自Exception。
所以可以通过Exception来捕获所有的异常,也可以通过多个catch来对异常进行分别捕获,为以防有漏掉的异常,
而且catch是有顺序的,所以应该在最后补上对全部异常的捕获。
同时也可以通过throw向上抛出异常,向上抛出异常的原因是向调用者抛出异常。
这是可在调用时使用try..catch来捕获异常。
这个异常可以自定义内容throw new Exception("出现错误了");
也可以直接写throw;抛出系统的异常。这是简单的例子。