12.11 Exception
2024-10-20 11:22:59
12.11exception
1.类别
检查性异常:用户错误或者问题引起的异常,此类异常程序员无法预见。例如:打开一个不存在的文件,用户输入错误(在只能输数字的地方输入汉字)......
运行时异常:可能被程序员避免的异常。
错误:脱离程序员的控制,例如栈溢出等等。
2.异常的体系结构
3.异常处理机制
抛出异常,捕获异常。
try{
//可能出现异常的代码段
}
catch(/*可能出现的异常类型*/){
//发生异常后执行catch里面的代码段
//可以输出异常类型或者结束程序(System.esit())或者打印异常栈信息
}finally{
//处理善后工作,finally可以不要。
}
注意事项
try catch必须要,finally可以不用。
可以有多个catch,catch捕获的异常必须是从小到大。
主动抛出异常
主动抛出异常一般用在方法中使用
通过throw和throws关键字,其中throw用在方法里,throws用在方法外
main()
{
int a=1;
int b=0;
new test().sum(a, b);
}
public void sum(int a,int b)
{
if(b==0)
{
throw new ArithmeticException();
}
System.out.println(a/b);
}
结果:
throws:
main()
{
try {
int a=1;
int b=0;
new test().sum(a, b);
}catch (ArithmeticException e)
{
e.printStackTrace();
}
}
public void sum(int a,int b) throws ArithmeticException
{
if(b==0)
{
throw new ArithmeticException();
}
System.out.println(a/b);
}
}
结果:
意义
通过throws关键字可以使程序在遇到异常时继续执行下去而不是直接停止。
4.自定义异常
通常是自己写一个类,该类继承Exception。
输出结果:
5.总结
最新文章
- 第三章 数组与字符串 UVa1588 Kickdown
- int(11)最大长度是多少,MySQL中varchar最大长度是多少(转)
- MVC4相关Razor语法以及Form表单
- Java中的大数处理类BigInteger和BigDecimar浅析
- 用 JMH 检测 Lambdas 序列化性能
- ASIHTTPRequest使用指南---<;<;翻译稿>;>;
- 【网络可靠版】Extjs4 Treegrid 使用实例
- 博弈论最简单例子TacTicToe
- 三、MapReduce学习
- Lua 设置table为只读属性
- Java-ServletContextListener
- Java Applet 与Servlet之间的通信
- <;<;君主论>;>;读后感
- (二)Makefile——自动编译、清理、安装软件
- php 将16进制数串转换为二进制数据的函数
- phpexcel导入导出
- Android之间传递数据包
- Android 之 应用未捕获异常处理
- DB2和Oracle中Date比较
- dede标签:arclist标签使用大全