异常处理——Java的try catch用法

thread:线程
异常是一种处理机制,它提供一种可以检查程序中的错误,返回比较有好的界面。
异常不是编译时的错误,而是运行时的错误,只有运行时出错才能捕捉到。
可以将错误捕捉到然后继续执行余下的代码。程序继续执行

java程序处理异常的流程:
某个语句抛出异常后,会先将异常抛给目前的函数看有没有try catch语句捕获和处理异常,如果没有则返回上一层函数继续抛出异常看有没有try catch语句,如果也没有就抛给java的jre的jvm虚拟机,然后虚拟机给出一个粗暴的处理——程序停运行。
//当然如果没有异常则程序正常运行
try{
......
}
//捕捉到错误信息,e用来接收异常对象ArrayIndexOutOfBoundsException栈溢出
catch(ArithmeticException e){
e.printStackTrace();//可以理解为输出该异常的具体信息。
......
}
try catch对代码的优化并没有作用
异常只会从最近的try catch中输出一个,然后继续运行正常的代码。

常见的一些异常:
所有的异常都是Exception的子类。

时间: 2025-01-01 08:54:53

异常处理——Java的try catch用法的相关文章

Java中try()...catch()用法

在stackoverflow偶尔看到的一个关于try()...catch()的用法,通常我们使用try...catch()捕获异常的,如果遇到类似IO流的处理,要在finally部分关闭IO流,当然这个是JDK1.7之前的写法了,在JDK1.7之后增加了try()...catch()的功能,这个能在捕获发生异常的时候,将资源释放: 演示代码,下面的test目录是不存在的,运行会抛出异常: JDK1.7之前 FileWriter fw = null; try { fw = new FileWrit

Java中try,catch,finally的用法

Java中try,catch,finally的用法,以前感觉还算熟悉,但看到一篇博文才有更深点的理解,总结网友博客如下. Java异常处理的组合方式: 1.try+catch 运行流程:运行到try块中,如果有异常抛出,则转到catch块去处理.然后执行catch块后面的语句 2.try+catch+finally 运行流程:运行到try块中,如果有异常抛出,则转到catch块,catch块执行完毕后,执行finally块的代码,再执行finally块后面的代码. 如果没有异常抛出,执行完try

Java异常处理机制:try...catch...的执行流程

Java异常处理机制:try...catch...的执行流程 在项目中遇到try...catch...语句,因为对Java异常处理机制的流程不是很清楚,导致对相关逻辑代码不理解.所以现在来总结Java异常处理机制的处理流程: 1.异常处理的机制如下: 在方法中用 try... catch... 语句捕获并处理异常,catch 语句可以有多个,用来匹配多个不同类型的异常. 对于处理不了的异常或者要转型的异常,在方法的声明处通过 throws 声明异常,通过throw语句拋出异常,即由上层的调用方法

java之finally的用法

package com.smbea.demo.tryCatchFinally; /** * java之finally的用法 * @author hapday * @2017年2月5日 @上午12:21:16 */ public class TryCatchFinallyDemo { public static void main(String[] args) { hasException(); System.out.println("\n-----------------------------

【又长见识了】C#异常处理,try、catch、finally、throw

异常处理:程序在运行过程中,发生错误会导致程序退出,这种错误,就叫做异常.处理这种错误,就叫做异常处理. 1.轻描淡写Try.Catch.Finally.throw用法 在异常处理中,首先需要对可能发生异常的语句进行异常捕捉,try就是用于预测可能出现的异常.捕获异常并对异常进行处理,就在catch中实现.不管异常发生与否,都会执行finally里面的语句.先看一个例子: static void Main(string[] args) { Console.WriteLine("请输入除数:&qu

java多线程中join用法

thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程.比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B. package com.wzs; /** * Java多线程中join用法 * * @author Administrator * */ public class JoinTest { public static void main(String[] args) { BThread bThread = new B

设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 用法

装饰者模式(Decorator Pattern) Java的IO类 用法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26716823 装饰者模式(decorator pattern)參见: http://blog.csdn.net/caroline_wendy/article/details/26707033 Java的IO类使用装饰者模式进行扩展, 当中FilterInputStream类, 就是装饰者(decorato

Java语言Socket接口用法详解

Socket接口用法详解   在Java中,基于TCP协议实现网络通信的类有两个,在客户端的Socket类和在服务器端的ServerSocket类,ServerSocket类的功能是建立一个Server,并通过accept()方法随时监听客户端的连接请求. 扩展: ServerSocket中常用的构造函数及方法 构造函数:ServerSocket(int port) 这是一个构造方法,用于在当前的服务器默认的IP地址上监听一个指定的端口,即在指定的IP和端口创建一个ServerSocket对象

Java下static关键字用法详解

Java下static关键字用法详解 本文章介绍了java下static关键字的用法,大部分内容摘自原作者,在此学习并分享给大家. Static关键字可以修饰什么? 从以下测试可以看出, static 可以修饰: 1. 语句块 2. 成员变量(但是不能修饰局部变量) 3. 方法 4. 接口(内部接口) 5. 类(只能修饰在类中的类, 即静态内部类) 6. jdk 1.5 中新增的静态导入 那么static 修饰的表示什么呢? 当创建一个类时,就是在创建一个新类型,描述这个类的对象的外观和行为,除