公共异常
来源:互联网 发布:复杂网络聚类是什么 编辑:程序博客网 时间:2024/04/25 06:16
Java编程语言提供几种预定义的异常。下面是可能遇到的更具共同性的异常中的几种:
ArithmeticException:整数被0除,运算得出的结果。
int i = 12 / 0;
NullPointerException:当对象没被实例化时,访问对象的属性或方法的尝试:
Date d = null;
System.out.println(d.toString());
NegativeArraySizeException:创建带负维数大小的数组的尝试。
ArrayIndexoutofBoundsException:访问超过数组大小范围的一个元素的尝试。
SecurityException:典型地被抛出到浏览器中,SecurityManager类将抛出applets的一个异常,该异常企图做下述工作(除非明显地得到允许):
访问一个本地文件
打开主机的一个socket,这个主机与服务于applet的主机不是同一个。
在运行时环境中执行另一个程序
异常的处理机制
一般来说,异常的处理机制有以下三种:
try-catch-finally 主动异常处理
throws 消极异常处理
throw 引入异常
实例分析
例1
问题的描述:
写一个常见的异常
解决方案:
请看下例:
public class TestException {public static void main(String args[]) {int i = 0;String ss[] = { "Hello world!", "您好,世界!", "HELLO WORLD!!" };for (; i < 6; i++) {System.out.println(ss[i]);}}}
运行的结果为如图。
要处理异常,将能够抛出异常的代码放入try块中,然后创建相应的catch块的列表,每个可能被抛出异常都有一个。如果生成的异常与catch中提到的相匹配,那么catch条件的块语句就被执行。在try块之后,可能有许多catch块,每一个都处理不同的异常。
请看下例:
class TestException2 {public static void main(String args[]) {int i = 0;String ss[] = { "Hello world!", "您好,世界!", "HELLO WORLD!!" };for (; i < 5; i++) {try {System.out.println("第" + (i + 1) + "次循环:");System.out.println(ss[i]);} catch (Exception e) {System.out.println("数组越界");} finally {System.out.println("finally execute");}}}}
运行的结果如图
总结:从上例可以看出:不管出现不出现异常,finally语句块都会执行。在try语句块里除了System.exit(int)语句外,finally语句块必须执行。
Throws则是自己不处理异常,而交给上级处理,俗称“异常上抛”,比如:
public static void main(String args) throws RuntimeException
这样,一旦在代码里出现RuntimeException,在本类里不做任何处理动作,而是交由上次程序或者虚拟机去处理。
更多Java视频教程 www.rjpx.net- 公共异常
- 公共异常类
- 常用方法5 ---公共异常类
- 微信公共号 40029异常个人解决方案
- [VB.NET].net Framework 客户端运行错误 是“公共语言运行库调试”报错误异常
- 解决异常:公共语言运行时检测到无效的程序
- 异常
- 异常!
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- FreeMarker教程
- jsp/Servlet
- 一些基本的小常识
- Linux crontab定时执行任务 命令格式与详细例子
- MyEclipse:ant打包部署web工程
- 公共异常
- ACE的构建(VC++6.0环境)[转]
- socket调用流程分析
- apache tomcat 集群 负债均衡 部署
- db2在线备份,没有日志,如何恢复
- ubuntu 查看硬件信息
- Intent 启动模式
- Android模拟器
- configure: error: Cannot find OpenSSL's <evp.h>