Java异常处理之try-catch-finally
/**
* @author Administrator
* 功能:异常
*/
package com.test; import java.io.*;
import java.net.*;
public class Test { public static void main(String[] args) {
// TODO Auto-generated method stub
//检查异常编译器实现可以判断的异常1.打开文件
//要是找不到怎么办呢
//FileReader fr = new FileReader("D:\\aa.txt");
//2. 连接一个192.168.12.12 ip的端口号4567
//cmd下tracert追踪路由器
//cmd下查看路由表route 或者route print
//cmd下netstat -an命令查看谁练过来了 //2. 连接一个192.168.12.12 ip的端口号4567
//unknown host 检查异常
//Socket s = new Socket("192.168.1.123",78); //运行异常
//除0
//int a = 4/0;
//int b = 6/0;
//数组越界异常
//int arr[] = {1,2,3};
//System.out.println(arr[234]); //外部环境异常 //异常和error有什么区别
//try catch捕获处理 或者抛出异常让调用你的上一层去处理 //异常处理
// try {
// FileReader fr = new FileReader("D:\\aa.txt");
//
// } catch (Exception e) {
// //catch (Exception e)为最大捕获
// // TODO: handle exception
// //把异常的信息输出,利于排除bug
// e.printStackTrace();
// }
//先进入应该被catch住的异常的入口块执行
FileReader fr = null; try {
fr = new FileReader("D:\\bb.txt");
System.out.println("go on");
Socket s = new Socket("192.168.1.123",78);
//后面的不执行,在出现异常的地方就终止执行代码,然后进入到catch语句
//如果你有多个catch语句,则进入匹配的异常的那个catch块 执行
} catch (FileNotFoundException e1) {
//认为是什么异常就捕获什么异常,时最小捕获,FileNotFoundException为最小捕获
// TODO: handle exception
//把异常的信息输出,利于排除bug
System.out.println("测试");
e1.printStackTrace();
//处理
} catch (IOException e2) {
// TODO: handle exception
e2.printStackTrace();
//System.out.println("message="+e2.getMessage());
//执行该句系统异常退出后,finally将不会被执行
//System.exit(-1);
//处理
}finally{//finally块一定会被执行
System.out.println("进入finally");
//这个语句块,不管有没有异常,都会被执行
//一般说,把需要关闭的资源,[文件,连接,内存 ]
if(fr != null)//之前定义时null不等于null表示已打开
{
//首先关闭文件关闭时也会抛异常
try {
fr.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
System.out.println("OK");
}
}
Java异常处理之try-catch-finally的更多相关文章
- Java 异常处理 try catch finally throws throw 的使用和解读(一)
//最近的一个内部表决系统开发过程中,//发现对异常处理还存在一些模棱两可的地方,//所以想着整理一下//主要涉及到://1.try catch finally throws throw 的使用和解读 ...
- java异常处理之throw, throws,try和catch
转自 http://blog.csdn.net/zhouyong80/article/details/1907799 程序运行过程中可能会出现异常情况,比如被0除.对负数计算平方根等,还有可能会出现 ...
- “崩溃了?不可能,我全 Catch 住了” | Java 异常处理
前言 今天我们来讨论一下,程序中的错误处理. 在任何一个稳定的程序中,都会有大量的代码在处理错误,有一些业务错误,我们可以通过主动检查判断来规避,可对于一些不能主动判断的错误,例如 RuntimeEx ...
- 札记:Java异常处理
异常概述 程序在运行中总会面临一些"意外"情况,良好的代码需要对它们进行预防和处理.大致来说,这些意外情况分三类: 交互输入 用户以非预期的方式使用程序,比如非法输入,不正当的操作 ...
- java异常处理(父子异常的处理)
我当初学java异常处理的时候,对于父子异常的处理,我记得几句话“子类方法只能抛出父类方法所抛出的异常或者是其子异常,子类构造器必须要抛出父类构造器的异常或者其父异常”.那个时候还不知道子类方法为什么 ...
- Java 异常处理
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error:如果你用System.out ...
- 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?
本文转载自 java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...
- 《转载》Java异常处理的10个最佳实践
本文转载自 ImportNew - 挖坑的张师傅 异常处理在编写健壮的 Java 应用中扮演着非常重要的角色.异常处理并不是功能性需求,它需要优雅地处理任何错误情况,比如资源不可用.非法的输入.nul ...
- JAVA 异常处理机制
主要讲述几点: 一.异常的简介 二.异常处理流程 三.运行时异常和非运行时异常 四.throws和throw关键字 一.异常简介 异常处理是在程序运行之中出现的情况,例如除数为零.异常类(Except ...
- Java异常处理和设计
在程序设计中,进行异常处理是非常关键和重要的一部分.一个程序的异常处理框架的好坏直接影响到整个项目的代码质量以及后期维护成本和难度.试想一下,如果一个项目从头到尾没有考虑过异常处理,当程序出错从哪里寻 ...
随机推荐
- 自己动手写一个简单的(IIS)小型服务器
因为第一次在博客园发表随笔,不太会用,这个笔记是我之前在印象笔记中写好的,然后直接copy过来,有兴趣自己做一个IIS服务器的小伙伴们可以参照下面的流程做一次,也可以叫我要源代码,不过要做完,我觉得花 ...
- war包编译和打包发布
用IDE写一个基本的webApp 要学习java web技术,除了javaSE基本功之外,基础知识还有servlet技术.我们如果只用IDE的话,会把很多问题屏蔽掉,很多细节就想不清楚了.最好的方式, ...
- sqlserver中的聚合函数
聚合函数:就是按照一定的规则将多行(Row)数据汇总成一行的函数,对数据进行汇总前,还可以按特定的列(coloumn)将数据进行分组(group by)再汇总,然后按照再次给定的条件进行筛选 一:Co ...
- MySQL与NoSQL——SQL与NoSQL的融合
来源:http://www.cnblogs.com/sunli/archive/2011/05/11/mysql-nosql.html 写这一篇内容的原因是MySQL5.6.2突然推出了memcach ...
- 【JAVA】浅谈java内部类
一.什么是内部类? 到底什么是内部类呢?通俗的讲,就是在类内部定义的类,包括定义在一个类的方法外面.方法里面或者代码块中. 二.为什么要使用内部类? 为什么我们要不走寻常路,把一个类定义在另一个类的内 ...
- IO流详解(半教材类型)
这两天学习了IO流,整理了一些理论知识点,仅供参考. java流概述 一 流 从操作系统层面和文件系统,数据保存相关的是所有语言都具备的一个基本功能,java专门开发了一个包:java.io.*;ja ...
- Google 常用镜像收集
1`下面列出几个目前常用的 公共DNS 服务器地址: 名称 DNS 服务器 IP 地址 OpenerDNS 42.120.21.30 百度 DuDNS 180.76.76.76 阿里 AliD ...
- HDU 1069 Monkey and Banana(动态规划)
Monkey and Banana Problem Description A group of researchers are designing an experiment to test the ...
- bat里如何用相对路径
在bat中直接使用绝对路径没有问题,但是文件传到其他地方时,绝对路径会发生改变,因此想通过使用相对路径来解决. 可以通过在bat获取当前bat所在的目录,然后cd 该目录来解决该问题 在bat前面增加 ...
- C#基础(六)——值类型与引用类型
CLR支持两种类型:值类型和引用类型. 值类型包括C#的基本类型(用关键字int.char.float等来声明),结构(用struct关键字声明的类型),枚举(用enum关键字声明的类型):而引用类型 ...