




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022年3月6日广州大学 Java网络编程 主讲:刘淼1第第2讲讲主要内容异常处理-补充Java寻址-第6章 2022年3月6日广州大学 Java网络编程 主讲:刘淼2补充补充 异常处理异常处理异常及其好处异常及其好处 异常是在程序运行时,破坏了程序正常执行流程的事件。因此,异常又叫异常事件。 异常既不是程序的语法错误,也不是程序的逻辑错误。异常既可能是超出程序员控制之外的环境因素,如要读取的文件不存在,网络连接不可用等;也可能是程序自身运行中出现的异常,如引用未赋值,除法运算时除数为0,访问数组下标越界等;同时也可能是Java虚拟机运行时出现的异常,如虚拟机的内部错误,堆栈溢出,内存越界等
2、。 2022年3月6日广州大学 Java网络编程 主讲:刘淼3补充补充 异常处理异常处理异常及其好处异常及其好处 异常处理的基本思想是异常检测与异常处理分开。异常检测能够告知异常发生的位置和异常类型。发生异常的方法可以处理异常,也可沿调用堆栈向上抛出,交由上层调用方法处理,增加了处理的灵活性。 2022年3月6日广州大学 Java网络编程 主讲:刘淼4补充补充 异常处理异常处理异常三大好处异常三大好处 好处一:将异常处理代码与正常逻辑代码分开,增加了程序的易读性。正常读取文件的常规逻辑代码 readFile open the file;determine its size;allocate t
3、hat much memory;read the file into memory;close the file;每一步都可能发生异常情况 readFile open the file;发生文件不能打开异常;determine its size;不能确定文件大小;allocate that much memory;没有足够内存分配;read the file into memory;读文件失败;close the file;文件不能被关闭;2022年3月6日广州大学 Java网络编程 主讲:刘淼5补充补充 异常处理异常处理交由调用方法处理,要向调用方法返回异常情况类型 ;或自己处理 error
4、CodeType readFile initialize errorCode = 0; open the file; if (theFileIsOpen) determine the length of the file; if (gotTheFileLength) allocate that much memory; if (gotEnoughMemory) read the file into memory; if (readFailed) errorCode = -1; else errorCode = -2; else errorCode = -3; close the file; i
5、f (theFileDidntClose & errorCode = 0) errorCode = -4; else errorCode = errorCode and -4; else errorCode = -5; return errorCode;异常处理机制可以将正常处理代码与异常处理代码分开,增加了程序的可读性。 readFile try open the file; determine its size; allocate that much memory; read the file into memory; close the file; catch (fileOpen
6、Failed) doSomething; catch (sizeDeterminationFailed) doSomething; catch (memoryAllocationFailed) doSomething; catch (readFailed) doSomething; catch (fileCloseFailed) doSomething; 2022年3月6日广州大学 Java网络编程 主讲:刘淼6补充补充 异常处理异常处理异常三大好处异常三大好处 好处二:异常处理更加灵活,代码简洁清晰。假设上述ReadFile方法由method3调用,method3由method2调用,met
7、hod2由method1调用。伪代码如下:method1 call method2;method2 call method3;method3 call readFile;没有异常处理机制的伪代码如下: method1 errorCodeType error; error = call method2; if (error) doErrorProcessing; else proceed;errorCodeType method2 errorCodeType error; error = call method3; if (error) return error; else proceed;er
8、rorCodeType method3 errorCodeType error; error = call readFile; if (error) return error; else proceed;2022年3月6日广州大学 Java网络编程 主讲:刘淼7补充补充 异常处理异常处理异常三大好处异常三大好处 好处二:异常处理更加灵活,代码简洁清晰。假设上述ReadFile方法由method3调用,method3由method2调用,method2由method1调用。伪代码如下:method1 call method2;method2 call method3;method3 call r
9、eadFile;具有异常处理机制的伪代码如下:method1 try call method2; catch (exception e) doErrorProcessing; method2 throws exception call method3;method3 throws exception call readFile;2022年3月6日广州大学 Java网络编程 主讲:刘淼8补充补充 异常处理异常处理好处三:将异常组织成类层次结构,既有利于突出异常之间的联系,也有利于异常的处理。在进行输入输出时,IOException是各种输入输出异常的祖先类,代表一般异常情况,其子孙类则代表具体异
10、常情况。一个方法既可选择捕获某种具体异常对象,也可选择捕获一般异常对象,还可以先捕获几种具体异常对象,剩下的按照一般异常对象捕获。 2022年3月6日广州大学 Java网络编程 主讲:刘淼9Java中的异常中的异常 Java异常分类异常分类 见word文档2022年3月6日广州大学 Java网络编程 主讲:刘淼10Java中的异常中的异常 自定义异常自定义异常 见word文档2022年3月6日广州大学 Java网络编程 主讲:刘淼11Java中的异常中的异常 Java中的异常处理机制中的异常处理机制 捕获并处理异常 1 幸运的是,在绝大多数情况下,只要知道所调用的方法是否抛出了异常即可,查查A
11、PI文档即可。 2用try块将其包围起来,每个try代码块可以伴随一个或多个catch语句,用于处理相应try代码块中所生成的异常事件。 2022年3月6日广州大学 Java网络编程 主讲:刘淼12Java中的异常中的异常 Java中的异常处理机制中的异常处理机制 捕获并处理异常 捕获并处理异常的完整程序结构如下:try 会产生异常的代码 catch (ExceptionType1 name) catch (ExceptionType2 name) finally 2022年3月6日广州大学 Java网络编程 主讲:刘淼13Java中的异常中的异常 Java中的异常处理机制中的异常处理机制 直
12、接抛出异常 如果一个方法不想捕获并处理在方法体内所产生的异常对象,可以使用throws关键词在方法的声明语句中抛出这些类型的异常,交由该方法的调用方法处理。 2022年3月6日广州大学 Java网络编程 主讲:刘淼14Java中的异常中的异常 Java中的异常处理机制中的异常处理机制 直接抛出异常 如果一个方法不想捕获并处理在方法体内所产生的异常对象,可以使用throws关键词在方法的声明语句中抛出这些类型的异常,交由该方法的调用方法处理。 2022年3月6日广州大学 Java网络编程 主讲:刘淼15Java中的异常中的异常 Java中的异常处理机制中的异常处理机制 捕获处理并抛出异常 前2种
13、方法的结合,既捕获该异常进行处理,同时又沿调用堆栈抛出异常对象。 2022年3月6日广州大学 Java网络编程 主讲:刘淼16第第6章章 Internet寻址寻址局域网地址身份证号别名:硬件地址、NIC地址和MAC(Media Access Control)地址 联网机器在同一个LAN或WAN内是依靠物理地址相互通信的,IP数据包必须封装成帧才能通过物理网络,因此,物理地址又称为数据链路层地址 。2022年3月6日广州大学 Java网络编程 主讲:刘淼17IPV4地址通信地址别名:逻辑地址 IPv4地址长度为32位二进制数,常用“点分十进制”表示:地址划分为4个字节部分,每部分用0255之间的
14、一个十进制数表示,各部分之间用小数点分隔。 网络标识+主机标识分类编址和无分类编址两种 。2022年3月6日广州大学 Java网络编程 主讲:刘淼18分类地址 分为A、B、C、D和E共5类,各类地址的高位互不相同。 见表。特殊地址和地址块 。单播、广播和多播地址 。划分子网 。建立超网 2022年3月6日广州大学 Java网络编程 主讲:刘淼19无分类地址 将整个IPv4地址空间划分为不同大小的地址段,一个机构可以申请到适合自己需要的地址段。 无分类地址采用斜线记法,形如A.B.C.D/n。n表示该块中的前n位是相同的。 2022年3月6日广州大学 Java网络编程 主讲:刘淼20IPV6地址
15、 长度为128位二进制位 。一个IPv6的地址由8个地址节组成,每节包含16个地址位,以4个十六进制数书写,节与节之间用冒号分隔,例如:FAB0:BC28:4567:1230:FAAC:B123:8971:5555。 为了简化包含0 位地址的书写,指定了一个特殊的语法来压缩0 。使用“:”符号指示有多个0值的16位组。 2022年3月6日广州大学 Java网络编程 主讲:刘淼21域名系统 层次的树状结构 。顶级域名由ICANN(Internet Corporation for Assigned Names and Numbers)机构管理,同时它还管理个别顶级域名下的域名注册管理工作。其它顶级
16、域名下的域名管理工作由ICANN授权给其它机构管理,如cn域名下的域名注册管理机构是中国互联网中心(CNNIC)。 2022年3月6日广州大学 Java网络编程 主讲:刘淼22域名解析 域名服务器的组织结构也是层状结构。最上面是根服务器,有13个,实际上,每个根服务器都存在许多镜像服务器,用来提高因特网的域名解析效率。 一个域名服务器所负责的范围称为一个区,它保存这个区的所有节点的域名信息。区可以是一个域,也可以只包含这个域的部分子域,而把另外的子域委托给其它服务器,保留对这些服务器的引用关系 。2022年3月6日广州大学 Java网络编程 主讲:刘淼23域名解析 根服务器保存个别顶级域下的所
17、有信息,保存对其它顶级域名服务器的引用信息。每一个标准的DNS服务器都有一个cache文件,称为根服务器列表,包括了因特网上的根服务器名称和对应的IP地址。这个文件的下载地址是ftp:/ Java网络编程 主讲:刘淼24域名解析 递归解析。迭代解析。解析过程。2022年3月6日广州大学 Java网络编程 主讲:刘淼25用用Java进行进行Internet寻址寻址J.InetAddress类 .NetworkInterface类类参考API文档资料2022年3月6日广州大学 Java网络编程 主讲:刘淼26程序程序1:用:用InetAddress类确定本地主机地址类确定本地主机地址import
18、.*;public class LocalHostDemo public static void main(String args) System.out.println(Looking up local host); try / Get the local host InetAddress localAddress = InetAddress.getLocalHost(); System.out.println(IP address : + localAddress.getHostAddress(); catch (UnknownHostException uhe) System.out.println
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年水轮机及辅机项目资金筹措计划书代可行性研究报告
- 2025年云南大理州旅游开发投资集团有限责任公司招聘笔试参考题库含答案解析
- 2025年中建四局贵州中建建筑科研设计院有限公司招聘笔试参考题库含答案解析
- 2025年广西梧州市藤县中和基础设施投资有限公司招聘笔试参考题库含答案解析
- 2025年中国蜡托铝箔项目投资可行性研究报告
- 2025年中国自动重量选别机项目投资可行性研究报告
- 2025年中国肉中鸡配合饲料项目投资可行性研究报告
- 2025年中国羊毛靠垫市场现状分析及前景预测报告
- 2025年中国终端机市场现状分析及前景预测报告
- 2025年中国红外线阀数据监测报告
- 脊髓损伤患者的坐起坐位及坐位平衡训练
- 科技经费管理培训
- ABAQUS官方培训资料PPTlecture1-introducing-abaqus-cae
- 趣味英语课件完整版
- 大学武术智慧树知到答案章节测试2023年浙江大学
- 夯实基础总结反思课件高三学习主题班会
- 前列腺增生症患者围手术期的护理
- 五防系统调试报告
- 日语综合教程第六册 单词表
- 在建项目雨季施工(防汛)安全隐患排查表
- 《广东省普通高中学生档案》模板
评论
0/150
提交评论