黑马程序员---异常finally
来源:互联网 发布:易语言端口发送数据 编辑:程序博客网 时间:2024/06/05 17:50
------- android培训、java培训、期待与您交流! ----------
/*
finally代码块:定义一定执行的代码。
通常用于关闭资源。
*/
class FuShuException extends Exception
{
FuShuException(String msg)
{
super(msg);
}
}
class Demo
{
int div(int a,int b)throws FuShuException
{
if(b<0)
throw new FuShuException("除数为负数");
return a/b;
}
}
class ExceptionDemo5
{
public static void main(String[] args)
{
Demo d = new Demo();
try
{
int x = d.div(4,-1);
System.out.println("x="+x);
}
catch (FuShuException e)
{
System.out.println(e.toString());
return; .//如果加上return下面的“over”就不会执行,而finally还要执行。
}
finally
{
System.out.println("finally");//finally中存放的是一定会被执行的代码。
}
System.out.println("over");
}
}
例子:
class NoEception extends Exception
{
}
public void method()throws NoException
{
连接数据库;
数据库操作(出现问题);//throw new SQLException();抛出去后关闭数据库执行不了。
关闭数据库;//该动作,无论数据操作是否成功,一定要关闭资源。
try
{
连接数据库;
数据库操作(出现问题);//throw new SQLException();
}
catch (SQLException e)
{
会对数据库进行异常处理;
throw new NoException();
}
finally
{
关闭数据库;
}
}
/*异常处理语句的其它格式。
第一个格式:
try
{
}
catch ()
{
}
第二个格式:
try
{
}
catch ()
{
}
finally
{
}
第三个格式:
try
{
}
finally
{
}
记住一点:catch是用于处理异常,如果没有catch就代表异常没有被处理过,如果该异常是检测时异常。那么必须声明。
*/
/*
异常在子类覆盖中的体现:
1,子类在覆盖父类的时候,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类。
2,如果父类方法抛出多个异常,那么子类在覆盖该方法时,只能抛出父类异常的子集。
3,如果父类或者接口的方法中,没有异常抛出,那么子类在覆盖方法时,也不可以抛出异常
如果子类方法放生了异常,就必须要进行try处理,绝对不能抛。
*/
class AException extends Exception
{
}
class BException extends AEception
{
}
class CException extends Exception
{
}
/*
Exception
|--AException
|--BException
|--CExcetion
*/
class Fu
{
void show()throws AException
{
}
}
class Test
{
void function(Fu f)
{
try
{
f.show();
}
catch ( AException e)
{
}
}
}
class Zi extends Fu
{
void show()throws BException
{
}
}
class
{
public static void main(String[] args)
{
Test t = new Test();
t.function(new Zi());
}
}
- 黑马程序员--异常finally
- 黑马程序员---异常finally
- 黑马程序员-------异常(finally)
- 黑马程序员7. finally&异常总结&包
- 黑马程序员_Java基础[20]_异常、finally
- 黑马程序员_try-catch-finally
- 黑马程序员--Java学习日记之IO(异常处理与finally)
- 黑马程序员---异常?异常!
- 黑马程序员—Java中finally关键字
- 黑马程序员--Try...catch...finally语句总结
- 黑马程序员---异常处理异常
- 黑马程序员-程序异常
- 黑马程序员:异常问题
- 黑马程序员_异常
- 黑马程序员_异常
- 黑马程序员 异常
- 黑马程序员_异常
- 黑马程序员_异常
- 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
- C++运算符重载
- 登录获取随机码
- linux-多线程--面试题
- warden install in ubuntu 10.04
- 黑马程序员---异常finally
- SQL中判断字符串中包含字符的方法
- Spring MVC 中处理静态资源
- Eclipse性能优化
- Android网络编程之Http通信
- linux下设置goagent
- 左联详细示例
- 黑马程序员-----异常练习
- Cocos2d-x之LUA脚本引擎深入分析