/**
* @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的更多相关文章

  1. Java 异常处理 try catch finally throws throw 的使用和解读(一)

    //最近的一个内部表决系统开发过程中,//发现对异常处理还存在一些模棱两可的地方,//所以想着整理一下//主要涉及到://1.try catch finally throws throw 的使用和解读 ...

  2. java异常处理之throw, throws,try和catch

    转自 http://blog.csdn.net/zhouyong80/article/details/1907799  程序运行过程中可能会出现异常情况,比如被0除.对负数计算平方根等,还有可能会出现 ...

  3. “崩溃了?不可能,我全 Catch 住了” | Java 异常处理

    前言 今天我们来讨论一下,程序中的错误处理. 在任何一个稳定的程序中,都会有大量的代码在处理错误,有一些业务错误,我们可以通过主动检查判断来规避,可对于一些不能主动判断的错误,例如 RuntimeEx ...

  4. 札记:Java异常处理

    异常概述 程序在运行中总会面临一些"意外"情况,良好的代码需要对它们进行预防和处理.大致来说,这些意外情况分三类: 交互输入 用户以非预期的方式使用程序,比如非法输入,不正当的操作 ...

  5. java异常处理(父子异常的处理)

    我当初学java异常处理的时候,对于父子异常的处理,我记得几句话“子类方法只能抛出父类方法所抛出的异常或者是其子异常,子类构造器必须要抛出父类构造器的异常或者其父异常”.那个时候还不知道子类方法为什么 ...

  6. Java 异常处理

    异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error:如果你用System.out ...

  7. 基础知识《十》java 异常捕捉 ( try catch finally ) 你真的掌握了吗?

    本文转载自  java 异常捕捉 ( try catch finally ) 你真的掌握了吗? 前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理 ...

  8. 《转载》Java异常处理的10个最佳实践

    本文转载自 ImportNew - 挖坑的张师傅 异常处理在编写健壮的 Java 应用中扮演着非常重要的角色.异常处理并不是功能性需求,它需要优雅地处理任何错误情况,比如资源不可用.非法的输入.nul ...

  9. JAVA 异常处理机制

    主要讲述几点: 一.异常的简介 二.异常处理流程 三.运行时异常和非运行时异常 四.throws和throw关键字 一.异常简介 异常处理是在程序运行之中出现的情况,例如除数为零.异常类(Except ...

  10. Java异常处理和设计

    在程序设计中,进行异常处理是非常关键和重要的一部分.一个程序的异常处理框架的好坏直接影响到整个项目的代码质量以及后期维护成本和难度.试想一下,如果一个项目从头到尾没有考虑过异常处理,当程序出错从哪里寻 ...

随机推荐

  1. ExtJs owner.componentLayoutCounter问题解

    owner.componentLayoutCounter问题解:listeners : {                                render : function(grid) ...

  2. WCF编程系列(四)配置文件

    WCF编程系列(四)配置文件   .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的 ...

  3. Java 7 新的 try-with-resources 语句,自动资源释放

    Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Management) ,自动资源管理. 新的语句支持包括 ...

  4. WPF 关于XDocument(xml) 的部分操作记录

    (1)删除xml文件中的一个结点的方法,有如下两种方式(只有存在数据绑定的情况下才会有第二种情况,否则一般是第一种情况): private void DeletePacsNode() { //从xml ...

  5. 九度OJ 1531 货币面值(网易游戏2013年校园招聘笔试题) -- 动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1531 题目描述: 小虎是游戏中的一个国王,在他管理的国家中发行了很多不同面额的纸币,用这些纸币进行任意的组合可以在 ...

  6. 关于php的认识和介绍

    php的介绍: 什么是php? <1>:php是一个编程语言 <2>:php是处理php编程语言的一个软件.php语言必须运行在php软件上. 为什么要学习php? php可以 ...

  7. ASP.NET DataList嵌套实现评论效果

    问题: Datalist1显示say这个表的数据 然后想在Datalist1中嵌套一个Datalist2用于显示对应的评论表2的 sayID对应表1的id,若表2中找不到对应sayId则在对应的Dat ...

  8. SQL Server2008数据库导入导出兼容性处理

    使用场景:SQL Server 的高版本数据库恢复到低版本则可能会有兼容性问题,为了解决此类问题进行数据库脚本模式处理,数据库结构,及数据存储更换版本等. 1.  选择要导出的数据库,右键任务,生成脚 ...

  9. 图片裁切插件jCrop的使用心得(四)

    在本篇中我来介绍一下jcrop如何实时展现用户裁切的效果图以及在项目中使用该插件注意的问题. 首先,你们在创建头像时,都可以在旁边实时的看到我裁切后的效果图,就如博客园. 这个是如何实现的呢,其实并不 ...

  10. demo_01 css3中的radius

    css属性:border-radius :border:边框:radius:弧度:所以这个属性的意思很明了. 下面实现一个小demo: <!doctype html> <html&g ...