ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:16.87KB ,
资源ID:3478614      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3478614.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java基础异常处理.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java基础异常处理.docx

1、Java基础异常处理Java异常处理异常: 程序运行时发生的非正常情况 发生异常 程序意外终止,控制权返回给调用者Java的异常类: Throwable(java异常的根类) Error 系统级错误 一般不能恢复 Exception 程序的实现过程中的异常运行时异常 指在程序运行中不一定要扑获的异常 比如:NullPointerException ArrayIndexOutOfBoundsException ArithmeticException非运行时异常:指程序运行中一定要扑获的异常 比如:SQLException IOException ClassNotFoundExceptionpub

2、lic class TestException public int testException(int a,int b) int arr=1,5,3,8; try System.out.println(arr6); return a/b; catch (ArithmeticException e) System.out.println(分母不能为零n+e.toString(); return -1; catch(ArrayIndexOutOfBoundsException ae) ae.printStackTrace();/打印错误堆栈信息 System.out.println(数组下标越界

3、); return -1; catch(Exception ex) System.out.println(我的任务是扑获前面的catch没有扑获的异常); return -1; finally System.out.println(我是无论如何都要执行的代码); public static void main(String args) TestException test=new TestException(); int result=test.testException(8, 0); if(result-1) System.out.println(运行正常 结果:+result); else

4、 System.out.println(出现异常); System.out.println(程序往下执行); 使用多重catch子句要注意:在前面的异常级别不能大于后者finally是异常处理语句结构的一部分,表示无论什么情况都要执行的模块finally语句的主要作用是在try或catch转到其他部分前做的一些“善后”工作。比如:关闭打开的文件,释放链接、内存等系统资源。throw关键字用来抛出一个异常。程序会在throw语句后立即终止 static void test() try throw new NullPointerException(抛出空指针异常);/抛出一个异常 catch(Nu

5、llPointerException e) System.out.println(扑获空指针异常); throw e;/再次抛出此异常 public static void main(String args) try test(); catch(NullPointerException e) System.out.println(扑获 + e); throws关键字 throws标明方法中可能抛出的各种异常但不处理它,即回避此异常,而交给调用者处理 public class TestExce public static void main(String args) TestEx test=ne

6、w TestEx(); try test.get(1,0); catch(Exception e) e.printStackTrace(); class TestEx public void get(int a,int b) throws Exception int c=a/b; System.out.println(这个方法可能会产生异常,请调用者处理+c); 自定义异常public class TestMyException public void testMyException(int val) throws MyException if (val 0) throw new MyExce

7、ption(出现异常,参数不能小于零); else System.out.println(val); public static void main(String args) TestMyException test=new TestMyException(); try test.testMyException(1); catch (MyException e) System.out.println(e.getMsg(); class MyException extends Exception private String msg; public MyException(String msg)

8、 this.msg = msg; public String getMsg() return this.msg; 垃圾回收 GC在程序的运行时环境中,Java虚拟机提供了一个系统级的垃圾回收器线程,它负责自动回收那些无用对象所占用的内存垃圾回收具有以下特点1. 只有当对象不再被程序中的任何引用变量引用时,它的内存才可能被回收。2. 程序无法迫使垃圾回收器立即执行垃圾回收操作。3. 当垃圾回收器将要回收无用对象的内存时,先调用该对象的finalize()方法,通常不使用 原因你不确定什么时候执行此方法甚至是否会执行此方法 以下两个方法作用相同System.gc(); /运行垃圾回收器 Runti

9、me.getRuntime().gc();public class TestGC SuppressWarnings(unused) public static void testMyFinalize() MyFinalize myFinalize=new MyFinalize(); System.out.println(对象被创建); myFinalize=null; System.gc(); System.runFinalization();/JVM退出时 为还未执行finalize()的对象执行finalize() System.out.println(对象被回收); public sta

10、tic void testMemory() Runtime rt=Runtime.getRuntime(); System.out.printf(JVM为对象分配总内存空间:%d%n,rt.totalMemory(); System.out.printf(JVM中对象可以使用的剩余内存空间:%d%n,rt.freeMemory(); Object objs=new Object20000; for(int i=0;iobjs.length;i+) Object obj=new Object(); objsi=obj; System.out.printf(产生大量的对象后可以使用的剩余内存:%d

11、%n, rt.freeMemory(); objs=null; rt.gc(); rt.runFinalization(); System.out.printf(回收对象后后可以使用的剩余内存:%d%n,rt.freeMemory(); System.out.printf(总内存:%d%n, rt.totalMemory(); public static void main(String args) /testMyFinalize(); testMemory(); class MyFinalize Override protected void finalize() throws Throwa

12、ble System.out.println(调用finalize()的对象的内存地址哈希码值:+this.hashCode(); 作业:1 编写一个类,在main()方法中的try块中抛出Exception异常。传递一个字符串参数 给 Exception的构造器,在catch中扑获此异常,并打印此字符串参数,添加finally子句,打印消息以证明finally中代码得到执行 2 编写一个自定义异常,定义一个接受字符串参数的构造方法,把此字符串保存在属性中 并定义一个获取此字符串的方法,写一个try catch进行测试3 定义一个对象引用并初始化为null,在try-catch中尝试用此引用调用方法

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1