Java 异常

执行Java代码时,可能会发生各种错误: 程序员写代码时犯的错误、用户非法输入造成的错误,或其他不可预见的错误。

当发生错误时,Java通常会停止程序运行,并生成错误消息。用技术方面的话说: Java将抛出异常/exception(抛出错误)。

Java try catch

try语句可以对一个代码块,在其执行时,进行错误检测。

catch语句定义了,当try块中发生错误时,要执行的代码块,。

try 与 catch关键字成对出现:

语法

try {

// 要尝试的代码块

}

catch(Exception e) {

// 处理错误的代码块

}

考虑下面例子

这将生成一个错误,因为myNumbers[10]不存在。

public class MyClass {

public static void main(String[ ] args) {

int[] myNumbers = {1, 2, 3};

System.out.println(myNumbers[10]); // error!

}

}

输出:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10

at MyClass.main(MyClass.java:4)

如果发生错误,可以用try…catch捕捉错误,然后执行错误处理代码:

示例

public class MyClass {

public static void main(String[ ] args) {

try {

int[] myNumbers = {1, 2, 3};

System.out.println(myNumbers[10]);

} catch (Exception e) {

System.out.println("出错了");

}

}

}

输出

出错了

Finally

不管try块中有没有报错,在try...catch之后,finally语句中的代码块将总是会执行:

示例

public class MyClass {

public static void main(String[] args) {

try {

int[] myNumbers = {1, 2, 3};

System.out.println(myNumbers[10]);

} catch (Exception e) {

System.out.println("出错了");

} finally {

System.out.println("'try catch'结束了");

}

}

}

输出将为:

出错了

'try catch'结束了

throw 关键字

throw语句让你可以创建自定义错误。

throw语句与异常类型一起使用。Java中有很多异常类型: ArithmeticException, ClassNotFoundException, ArrayIndexOutOfBoundsException, SecurityException, 等等.

异常类型通常与自定义方法一起使用。如果不理解下面的例子,不必担心,下一章中会了解更多。

示例

如果年龄小于18岁,抛出异常(打印“拒绝访问”);如年龄在18岁或以上,打印“允许访问”:

public class MyClass {

static void checkAge(int age) {

if (age < 18) {

throw new ArithmeticException("拒绝访问 - 低于18岁");

}

else {

System.out.println("允许访问 - 年龄合格");

}

}

public static void main(String[] args) {

checkAge(15); // 年龄设置为15 (低于18...)

}

}

输出将为:

Exception in thread "main" java.lang.ArithmeticException: 拒绝访问 - 低于18岁

at MyClass.checkAge(MyClass.java:4)

at MyClass.main(MyClass.java:12)

如果你的年龄是20岁,你不会有例外:

示例

checkAge(20);

输出将为:

允许访问 - 年龄合格

java buqi_Java 异常相关推荐

  1. java关于异常的面试程序题_java异常相关面试题

    欢迎关注 CSDN:程序员小羊 微信公众号:程序员小羊 博客园:程序员小羊 1.Java中异常分为哪两种? 编译时异常 运行时异常 2.异常的处理机制有几种?. 异常捕捉:try-catch-final ...

  2. Java基础-异常(Exception)处理

    Java基础-异常(Exception)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.异常的概述 什么是异常?Java代码在运行时期发生的问题就是异常.在Java中,把异 ...

  3. JAVA的异常(四):finally关键字

    JAVA的异常(四):finally关键字 finally代码块:定义一定执行的代码 通常用于关闭资源 finally只有一种情况不执行,就是执行了System.exit(0)的时候,是系统退出,JV ...

  4. 一种隐蔽性较高的Java ConcurrentModificationException异常场景

    前言 在使用Iterator遍历容器类的过程中,如果对容器的内容进行增加和删除,就会出现ConcurrentModificationException异常.该异常的分析和解决方案详见博文<Jav ...

  5. java的异常机制面试题(转)

    java的异常机制面试题(转) 参考文章: (1)java的异常机制面试题(转) (2)https://www.cnblogs.com/ffaiss/p/11434639.html 备忘一下.

  6. Java获取异常堆栈信息

    Java获取异常堆栈信息 参考文章: (1)Java获取异常堆栈信息 (2)https://www.cnblogs.com/zhi-leaf/p/6288769.html 备忘一下.

  7. java的异常抛出throws和throw的简单使用

    java的异常抛出throws和throw的简单使用 参考文章: (1)java的异常抛出throws和throw的简单使用 (2)https://www.cnblogs.com/Anxc/p/113 ...

  8. Java的异常:Error与Exception

    Java的异常:Error与Exception 参考文章: (1)Java的异常:Error与Exception (2)https://www.cnblogs.com/heqiyoujing/p/11 ...

  9. Java 常见异常种类

    Java 常见异常种类 参考文章: (1)Java 常见异常种类 (2)https://www.cnblogs.com/cvst/p/5822373.html 备忘一下.

最新文章

  1. 自媒体和计算机相关吗,做自媒体,台式电脑跟笔记本电脑用哪个好呢?
  2. mysql memcached 使用场景_memcache 应用场景
  3. 软件工程复习提纲——第五章
  4. linux在电子信息工程行业中的应用,电子信息工程概述论文
  5. 15拆分成3个不同的自然数_素数大概有多少个?15岁的高斯翻过素数表之后给出了答案...
  6. c语言刷屏函数的作用是什么,刷屏神器源码(C语言控制台版)【原创】
  7. 2019年“深圳杯”数学建模挑战赛B题解题思路(一)
  8. APP 自动化框架设计思路分享
  9. 【WinHex篇】WinHex跳过坏扇区制作磁盘镜像
  10. ICP许可证申办常见问题答疑
  11. 不需要抓包分析、简单粗暴的模拟校园网登录方法——基于python playwright
  12. 派对屋3000效果器怎样调试_卡拉OK前级效果器如何调试?
  13. 从多个Word文件中取值到Excel中,整理文件的神器,Word精灵V7.3
  14. flash_back介绍
  15. 在chromium内不能激活fcitx输入法
  16. ABP框架—项目文件介绍(2)
  17. EMC AUTOSTART双机热备
  18. 苹果系统java小游戏_Mac自带小游戏怎么玩?
  19. grpc-gateway搭建
  20. winwebmail的设置方法

热门文章

  1. HTML/CSS入门及基础
  2. Mysql数据库——高级用法(视图、事务、索引、自连接、用户管理)
  3. nohup后台运行以及重定向标准输出和标准异常
  4. Python使用multiprocessing实现多进程
  5. Extjs可视化设计视频教程三
  6. JMS学习之ActiveMQ-简单使用
  7. ios开发循环网络请求_如何简化网络请求接口开发
  8. springboot发送邮件_SpringBoot发送邮件如何实现,SpringBoot发送邮件详解(附代码)...
  9. @scheduled注解配置时间_Spring Boot中使用@Scheduled创建定时任务
  10. mac下安装caffe