为防止和处理一个运行时错误,只需要把你所要监控的代码放进一个try块就可以了。紧跟着try块的,包括一个说明你希望捕获的错误类型的catch子句。完成这个任务很简单,下面的程序包含一个处理因为被零除而产生的ArithmeticException

异常的try块和一个catch子句。

注意在try块中的对println(

)的调用是永远不会执行的。一旦异常被引发,程序控制由try块转到catch块。执行永远不会从catch块“返回”到try块。因此,“This will not

be printed。”

将不会被显示。一旦执行了catch语句,程序控制从整个try/catch机制的下面一行继续。

一个try和它的catch语句形成了一个单元。catch子句的范围限制于try语句前面所定义的语句。一个catch语句不能捕获另一个try声明所引发的异常(除非是嵌套的try语句情况)。

被try保护的语句声明必须在一个大括号之内(也就是说,它们必须在一个块中)。你不能单独使用try。

构造catch子句的目的是解决异常情况并且像错误没有发生一样继续运行。例如,下面的程序中,每一个for循环的反复得到两个随机整数。这两个整数分别被对方除,结果用来除12345。最后的结果存在a中。如果一个除法操作导致被零除错误,它将被捕获,a的值设为零,程序继续运行。

显示一个异常的描述

Throwable重载toString( )方法(由Object定义),所以它返回一个包含异常描述的字符串。你可以通过在println(

)中传给异常一个参数来显示该异常的描述。例如,前面程序的catch块可以被重写成

当这个版本代替原程序中的版本,程序在标准javaJDK解释器下运行,每一个被零除错误显示下面的消息:

Exception: java.lang.ArithmeticException: / by zero

http://shenzhen.offcn.com/

java try的用法_Java try和catch的使用相关推荐

  1. java try的用法_Java中try()catch{}的使用方法

    今天撸代码的时候发现了一段这样的代码 try( Connection conn=DriverManager.getConnection(url,user,pass); Statement stmt=c ...

  2. java中extends用法_JAVA的extends用法

    理解继承是理解面向对象程序设计的关键.在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类).在Java中不允许多继承. (1)继承 cla ...

  3. cal java中的用法_Java中static用法

    Java中static用法 转自 http://blog.pfan.cn/sword2008/13772.html 一.static 请先看下面这段程序: public class Hello{ pu ...

  4. java try 的用法_java try(){}catch(){}自动释放资源及用法

    java语言中try(){}catch(){}的用法介绍.介绍了通常的try-catch的用法以及 try-with-resources 的用法. 1.try{} catch(){}的用法 通常try ...

  5. java try的用法_Java中try、catch的使用方法

    Java中有两种处理异常的方式,分别是用throws抛出异常.用try.catch捕获异常. try-catch 在Java try-catch语句的语法格式: try{ //代码块 }catch(E ...

  6. java的scanner用法_Java Scanner用法详解

    一.Scanner类简介 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序.它是以前的StringTokenizer和Matcher类之间的某种结合.由于 ...

  7. java关键字的用法_JAVA常用关键字及其用法简要说明

    JA V A常用关键字及其用法简要说明Abstract抽象的一个Java语言中的关键字,用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承.一个抽象类可以使用抽象方法,抽象方法不需要实现 ...

  8. java中throws用法_java中throws实例用法详解

    在程序出现异常时,会有一个抛出异常的throw出现,这里我们要跟今天所讲的throws区分开.throws的作用是声明抛出,在名称上也跟throw有所不同.下面我们就throws对策概念.语法.实例带 ...

  9. java中attribute用法_Java FieldPosition getFieldAttribute()用法及代码示例

    java.text.FieldPosition类的getFieldAttribute()方法用于获取Format.field形式的字段标识符. 用法: public Format.Field getF ...

最新文章

  1. UILabel的自适应宽高
  2. win10+VS2015+pycaffe编译
  3. 【计算机网络】数据链路层 : 信道划分 介质访问控制 ( 数据链路 | 介质访问控制分类 | 频分多路复用 FDM | 时分多路复用 TDM | 波分复用 WDM | 码分多路复用 CDM 计算 )★
  4. 初识css预处理器:Sass、LESS
  5. Split in Java
  6. 云计算将使IT人失业?惠普推云计算裁员九千!程序员如何面对即将到来的产业大调整?...
  7. Nginx 常用配置(学习笔记三)
  8. 新高考不选物理可以学计算机吗,新高考选科中物理真的那么重要吗?没有选物理是不是完了?...
  9. Z-Stack Home Developer's Guide—5. Compilation Flags中文翻译【Z-Stack Home 1.2.0开发文档】
  10. 奔驰又召回了!“方便进出”功能翻车
  11. ucosii 知识点总结
  12. MyBatis 传入参数之parameterType
  13. BZOJ3993[SDOI2015]星际战争 【最大流+二分答案】
  14. tfs java_TFS (Team Foundation Server) 2013集成Maven构建
  15. 开发APP的费用是多少?
  16. MMKV:微信团队开源的轻量级存储方案
  17. JavaScript运算符完全攻略(史上最全!)
  18. react-native 获取手机imei码
  19. STM32F4 discovery 开发板 UART1 问题
  20. 热流体动压润滑matlab_slide-bearing 轴承热弹流计算程序,很好用。可以 高端 。 matlab 238万源代码下载- www.pudn.com...

热门文章

  1. 浅谈 WebVR 全景
  2. DSP CCS12.00 芯片:TMS320F28335 结课设计 综合设计 TFTLCD + 按键 + 蜂鸣器 + 流水灯
  3. 当财政电子票据遇上区块链……
  4. matplotlib.pyplot / plt trick
  5. 大数据里常见的几种压缩格式压缩
  6. 网页一直打不开 php,phpMyAdmin 网页打不开怎么办?
  7. Gitlab启用 LDAP 并分组管理
  8. MultiDex.install()源码分析
  9. 网站评论系统的开源插件的使用
  10. 听说学会了python,能挣钱,又有很好的前景!真的吗?