博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Java] java中的异常处理
阅读量:4624 次
发布时间:2019-06-09

本文共 1449 字,大约阅读时间需要 4 分钟。

Java中的异常类都继承自Throwable类。一个Throwable类的对象都可以抛出(throw)。

Throwable对象可以分为两组。一组是unchecked异常,异常处理机制往往不用于这组异常,包括:

  • Error类通常是指Java的内部错误以及如资源耗尽的错误。当Error(及其衍生类)发生时,我们不能在编程层面上解决Error,所以应该直接退出程序。
  • Exception类有特殊的一个衍生类RuntimeException。RuntimeException(及其衍生类)是Java程序自身造成的,也就是说,由于程序员在编程时犯错。RuntimeException完全可以通过修正Java程序避免。比如将一个类型的对象转换成没有继承关系的另一个类型,即ClassCastException。这类异常应该并且可以避免。

剩下的是checked异常。这些类是由编程与环境互动造成程序在运行时出错。比如读取文件时,由于文件本身有错误,发生IOException。再比如网络服务器临时更改URL指向,造成MalformedURLException。文件系统和网络服务器是在Java环境之外的,并不是程序员所能控制的。如果程序员可以预期异常,可以利用异常处理机制来制定应对预案。比如文件出问题时,提醒系统管理员。再比如在网络服务器出现问题时,提醒用户,并等待网络服务器恢复。异常处理机制主要是用于处理这样的异常。

public class TestException{    public static void main(String[] args)    {        LearnCourse learnCourse = new LearnCourse();        learnCourse.learnEnglish(-1);    }}class LearnCourse{    public void learnEnglish (int t)    {        try{            mark(t);        }catch(Exception e){            System.out.println("catch Exception");            System.out.println(e.getMessage());            t = 0;        }    }    private void mark(int t) throws Exception    {        if(t<0){            Exception e = new Exception("t is "+t+", t must be positive");            throw e;        }else{            System.out.println("The time for learning English is "+t+" hours");        }    }        }

在catch中,我们使用getMessage()方法提取其异常中包含的信息。上述程序的运行结果如下:

catch Exception

t is -1, t must be positive

转载于:https://www.cnblogs.com/frost-yen/p/4838684.html

你可能感兴趣的文章
Windows Phone 7中使用PhoneApplicationService类保存应用程序状态
查看>>
MySql数据库的下载和安装卸载
查看>>
JDBC接口核心的API
查看>>
双缓冲技术局部更新原理之派生自View
查看>>
PPAPI插件与浏览器的通信
查看>>
用 query 方法 获得xml 节点的值
查看>>
Hello,Android
查看>>
Sublime Text 3 build 3103 注册码
查看>>
删与改
查看>>
SAP 中如何寻找增强
查看>>
spi驱动无法建立spidev问题
查看>>
ANDROID开发之SQLite详解
查看>>
如何依靠代码提高网络性能
查看>>
Zookeeper要安装在奇数个节点,但是为什么?
查看>>
discuz 微社区安装记录
查看>>
[BZOJ4824][Cqoi2017]老C的键盘 树形dp+组合数
查看>>
配置的热更新
查看>>
MySQL事务的开启与提交,autocommit自动提交功能
查看>>
PriorityQueue
查看>>
CODEVS1403 新三国争霸
查看>>