java之异常
发布时间:2020-12-15 06:43:26 所属栏目:Java 来源:网络整理
导读:(1)任何一种程序设计语言设计的程序在运行时都可能出现错误。 (2)捕获错误最理想的是在编译期间,但有的错误只有在运行时才会发生。 (3)对于这些错误,一般有两种解决方法: 遇到错误就终止程序运行; 由程序员在编写程序时,就考虑到可能出现的错误,
(1)任何一种程序设计语言设计的程序在运行时都可能出现错误。 (2)捕获错误最理想的是在编译期间,但有的错误只有在运行时才会发生。 (3)对于这些错误,一般有两种解决方法:
那么什么是编译,什么是运行呢? 编译:又分为编译和链接两个过程。编译是将源文件转换为机器可识别的二进制文件。链接是将这些二进制文件组合成系统可以执行的可执行文件。 运行:将编译出来的可执行程序放在系统中进行运行。 Java异常:在java语言中,将程序执行中发生的不正常情况称为异常。 java中的异常用于处理非预期的情况,如文件没找到、网络错误、非法的参数等。 java程序运行过程中的异常可分为两类:
异常处理机制:
说明:
try{ //需要判断是否出现异常的语句 }catch(Exception e){ 捕获异常 }finally无论是否出现异常,都会运行这里的代码 } 注意:如果有多个catch,在捕获到前面的异常后,后面的就不会再捕获了。 声明抛出异常
package myjava; public class Test3 { static void main(String[] args) { B b = new B(); { b.test(); }(Exception e){ e.printStackTrace(); } } } B{ int i; void test() throws Exception{ B b = null; System.out.println(b.i); } } 输出: ? 注意:当父类方法抛出异常,子类方法继承父类对该方法进行重写时,也需要抛出异常,同时抛出的异常范围不能比父类的大。 人工抛出异常:
{ b.test(200); } age; void test(int age) Exception{ if (age>=0 && age <= 100) { System.out.println("合法"else { throw new Exception("年龄不合法"); } } } 输出: ? 创建用户自定义异常类:用户自定义的异常类必须继承现有的异常类 { b.regist(-1(Exception e){ e.printStackTrace(); } } } B{ void regist(int num) if (num<0) { new MyException("人数不能为负值",3 { System.out.println("登记人数"+num); } } } class MyException extends Exception{ private idnumber; public MyException(String message, id) { super(message); this.idnumber = id; } getId() { return idnumber; } } 输出: ? 然后就可以抛出异常: { b.message((Exception e){ e.printStackTrace(); } } } num); } } void message() Exception { { regist(-1 (MyException e){ System.out.println("登记失败,出错种类"+e.getId()); } System.out.println("本次登记结束"); } } idnumber; } } 输出: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |