编程中的错误1、编译错误程序出现语法问题和拼写问题,

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

NumberFormatException
IOException 输入输出错误
ClassNotFountException
Error 错误类定义严重的错误 ,在大多数情况下,当遇到
这样的错误时,建议让程序中断。比如说内存溢出。不可 能指望程序能处理这样的情况。
Exception 异常类定义程序所遇到的轻微错误,可以写代
第二种情况,因程序功能,人为使用throw抛出。
需要利用程序来抛出。例如,用程序处理一个保存职 工工资信息的文件,工资数据显然不为负,读文件时若发 现负,则必须抛出一个异常来说明这个错误。 要抛出异常首先必须依据异常类创建一个异常对象。
格式: 异常类型 异常对象变量名=new 异常类型的构造方法()
● 编程中的错误 1、编译错误 程序出现语法问题和拼写问题,不能通过由源代码 到字节码的编译。由JAVA语言的编译系统负责检测和 报告。 如,程序某语句缺少该有的分号(;),标识符大 小写错误,关键字(保留字)写错等。 当编译时,系统自动给出提示。如 C:\jdk\bin>javac TryTest.java TryTest.java:7: 期望 ';' String s="abc" ^ 1 个错误 (应按错误灵活检查)
wk.baidu.com
▲异常(Exception)(/例外) 异常是异常事件(Exception event)的简称, 通常指的是在程序运行中导致正常程序流程中 断的事件。 异常类----代表一种运行错误,类中包含了 该运行错误的信息和处理错误的方法等。
异常处理机制:当发生可识别错误,系统产 生相应异常类的对象,系统启用相应机制去处 理它,以保证运行安全。
JAVA 异常处理机制的核心任务----将系统的 控制权从发生错误的指令处转移到对错误进行 处理的地方。
▲异常类
在JAVA语言中,被处理的是异常类的一个对象, 是系统类Throwable或其子类的实例。
异常类结构图:参照p-157-158
Throwable
Error
………… R
Exception
ArithmeticException 算术错误
c=(char)System.in.read();
System.out.println("你输入的是: "+c); }} //类throwr调用了System.in.read()方法,其本身抛出了 一个IOException 异常类。 // System.in.read()方法定义为:public abstract int read()throws IOException 运行结果:
▲抛出异常 方法需要抛出异常的四种情况:
⑴ 在方法中调用了本身会抛出异常的方法。 (间接抛出)
⑵ 在方法设计中,对不能处理的情况人为的生 成了一个异常对象,并用throw语句抛出。 ⑶ 程序出现非法操作,如整数除法0为除数。
⑷ JAVA 系统发生内部错误。
第一种情况:方法调用了本身会抛出异常的方法 import java.io.*; public class throwr { public static void main(String args[]) { char c; System.out.print("请输入一个字符: ");
码来处理异常并继续程序执行,而不是让程序中断。 如: ArithmeticException—整数被0除,运算得出的结果。 int i =12 / 0; NullPointerException—当对象没被实例化时,访问对象的 属性或方法的尝试: Date d= null; System.out.println(d.toString()); ArrayIndexOutOfBoundsException—访问超过数组大小范 围的一个元素的尝试。
C:\jdk\bin>javac throwr.java
throwr.java:6: 未报告的异常 java.io.IOException ;必须被 捕获或被声明抛出 c=(char)System.in.read(); ^ 1 个错误 处理办法:1、捕获异常 (用try-catch)p19例 2、间接抛出: import java.io.*; public class throwr { public static void main(String args[])throws IOException { char c=‘ ’; System.out.print("请输入一个字符: "); c=(char)System.in.read(); System.out.println("你输入的是: "+c); }}
● 异常与异常类 我们编制的程序首先假定用户在使用时,不会对 0整数去做除法,不会去找不存在的文件,不会去打 开不存在的网点……,但实际上这些漏洞(bug)经 常存在。 ∴ 在编程时,在发生这样的错误时至少 应完成以下工作: 报告错误和导致错误原因
对错误进行处理
必要时正常终止程序并尽量保存数据
JAVA 语言利用异常处理机制(Exception)处 理程序可能发生的错误。
2、运行错误 (分为系统错误、逻辑错误) 系统错误:运行时引发操作系统问题。如死循环、死 机等。比较隐晦。 逻辑错误:不能实现设计意图。例如运算符写错,计 算结果相应不正确。 运行错误的排除:利用JDB调试程序 C:\jdk\bin>javac -g TryTest.java C:\jdk\bin>jdb TryTest Initializing jdb... > stop at TryTest:6 Deferring breakpoint TryTest:6. It will be set after the class is loaded. >run …… step 或用jdb直接进入,并可用?/help得到帮助 使用exit/quit 退出
(异常类型的构造方法有两种:有参数串/无参数串)
例如:(DataFormatException---数据格式发生错误) DataFormatException e=new DataFormatException(“工 资数据为负数”); throw e; (=throw new DataFormatException(“工资数据为负数”);)
相关文档
最新文档