- class DescriptException
- {
- public static void main(String[] args)
- {
- try
- {
- //这里面是你可能发生异常的代码
- }
- catch ()//括号内部填写可能发生异常的类型,或者此类型的向上类型
- {
- //这里面是你要处理异常的方式 例如:System.out.println("出现异常了"); 当运行出现异常是 就会打印“出现异常了”
- }finally
- {
- //在这块区域内的代码 ,无论如何都会执行,除非前面exit(0);退出虚拟机,否则就算在try里面有return也会执行这里面的代码
- // 在这里面一般写关闭流或链接的代码,例如你链接数据库的时候,当你操作完数据库,是必须要释放数据库连接的,这时候释放连接的代码
- //就应该放在这里面,
- }
- }
-
- public void test() throws Exception1, Exception3 // 声明这个方法可能出现的异常,告诉调用者 调用这个方法是可能会出现 两种你需要处理的异常
- {
- try
- {
- /*
- 可能出现异常的代码块
- */
-
- }
- catch (Exception1 e)
- {
- throw e;
- }catch(Exception2 e)
- {
- System.out.println("处理了异常Exception2");
- }
- if(a!=b)
- {
- throw new Exception3("自定义异常");
- }
- }
- /*
- 由上面这个代码可以看出,在try catch语句中,可能出现两种异常 分别是Exception1 Exception2,其中当出现Exception1异常时,我将其对外抛出,
- 抛给了调用这个方法的地方
- 当出现Exception2的时候,自己处理了,处理的方式就是 打印一句话 (“处理了异常Exception2”)
- 还有后面这个 当a不等b时 抛出 Exception3
-
- 在这个方法中 ,总共有三个异常 分别是 Exception1, Exception2,Exception3
- 而在方法声明处我只声明了Exception1, Exception3两个异常 没有声明Exception2是因为我在方法内部自己处理了,没有处理的都通过
- throw抛给了调用者,让调用者去处理
- throw是将异常给抛出,throws是声明可能出现的异常
- */
- }
复制代码 |