处理异常

可以使用try…catch…处理异常,例如之前的程序可以使用try…catch…处理

package com.monkey1024.exception;

import java.io.FileInputStream;
import java.io.FileNotFoundException; public class ExceptionTest02 { public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("d:/monkey1024.txt");
//捕捉FileNotFoundException异常
} catch (FileNotFoundException e) {//jvm会创建FileNotFoundException的对象,然后将e指向这个对象
//如果try里面的代码没有报错,则不会执行catch里面的代码
e.printStackTrace();//打印出异常信息
String msg = e.getMessage();
System.out.println(msg);
}
System.out.println("monkey1024.com");//catch后面的语句会正常执行
} }

可以捕捉多个异常,但是catch里面必须从小类型异常到大类型异常进行捕捉,先捕捉子后捕捉父,最多执行一个catch语句块里面的内容。

package com.monkey1024.exception;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; public class ExceptionTest02 { public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("d:/monkey1024.txt");
fis.read();
} catch (FileNotFoundException e) {//捕捉FileNotFoundException异常
e.printStackTrace();
} catch (IOException e) {//捕捉IOException异常
e.printStackTrace();
} catch (Exception e) {//捕捉Exception异常
e.printStackTrace();
}
} }

jdk7新特性

jdk7新特性,可以将多个捕捉的异常放到一个catch里面

package com.monkey1024.exception;

import java.io.FileInputStream;
import java.io.FileNotFoundException; public class ExceptionTest03 { public static void main(String[] args) { try {
System.out.println(1024 / 0);
FileInputStream fis = new FileInputStream("d:/monkey1024.txt");
//jdk7新特性,可以将多个异常放到一个catch里面
} catch (FileNotFoundException | ArithmeticException e) {
e.printStackTrace();
} /*catch (ArithmeticException e){
e.printStackTrace();
}*/
} }

1-16使用try-catch捕捉异常的更多相关文章

  1. 异常处理的捕捉:try{}catch(异常类 变量)finally{最终执行}

    可以对异常进行针对性处理的方式.try{ //需要被检查的异常 }catch(异常类  变量)//该变量用于接收发生的异常{ //处理异常的代码 }finally{ //一定会被执行的代码. }

  2. C#高级编程笔记(11至16章)异步/托管/反射/异常

    11.1.2LINQ语句 LINQ查询表达式以from子句开始,以select或者group子句结束.在这两个子句之间可以跟零个或者多个from.let.where.join或者orderby子句. ...

  3. .NET WebAPI 利用特性捕捉异常

    声明:本方式及代码只使用与.NET Web API. 先创建类继承ExceptionFilterAttribute类型并复写OnException方法. 代码如下: using System; usi ...

  4. Java如何使用finally块来捕捉异常?

    在Java编程中,如何使用finally块来捕捉异常? 此示例显示如何使用finally块来通过使用e.getMessage()捕获运行时异常(Illegalargumentexception). p ...

  5. MVC 应用程序级别捕捉异常

    捕捉异常: using System; using System.IO; using System.Net; using System.Net.Http; using System.Net.Http. ...

  6. .NET [MVC] 利用特性捕捉异常

    声明:本代码只适用于.NET MVC. 先创建一个类继承ActionFilterAttribute这个抽象类以及实现IExceptionFilter接口,并实现它的方法OnException. 代码如 ...

  7. .NET Core[MVC] 利用特性捕捉异常

    声明:本方式适用于MVC.本代码只适用于.NET Core MVC. 先创建一个类继承ExceptionFilterAttribute这个抽象类,并override它的方法OnException. 代 ...

  8. ABP捕捉异常错误代码

    在服务层或者CORE层  随便哪里都可以  创建一个捕捉异常的文件夹  里面写一个LonsidException类 继承后面的接口  然后重写继承的方法  这样在ABP项目运行阶段  无论在哪里出现异 ...

  9. zzw原创_oracle循环中的异常捕捉_捕捉异常后并继续循环

    例子如下 set serveroutput on; declare   V_SQL VARCHAR2(255);   errorCode number; --异常编码     errorMsg var ...

随机推荐

  1. ARC机制之__strong具体解释

    ARC机制之__strong具体解释 __strong  解析: 默认情况下,一个指针都会使用 __strong 属性,表明这是一个强引用.这意味着,仅仅要引用存在,对象就不能被销毁.这是一种所期望的 ...

  2. python第三方库系列之十八--python/django test库

    django是属于python语音的web框架,要说django測试.也能够先说说python的測试.django能够用python的方式測试,当然,django也基于python封装了一个自己的測试 ...

  3. 常用的sql命令

    1 mysql创建数据库 create database [database name]; 2 创建表 create table [table name]([first column name] [f ...

  4. leetCode 116.Populating Next Right Pointers in Each Node (为节点填充右指针) 解题思路和方法

    Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...

  5. opencv IplImage各参数详细介绍以及如何从一个JPEG图像数据指针转换得到IplImage

    这篇文章里介绍得最清楚了.http://blog.chinaunix.net/uid-22682903-id-1771421.html 关于颜色空间  RGB颜色空间已经非常熟悉了.HSV颜色空间需要 ...

  6. 使用cwRsync在Windows的目录之间增量同步文件

    http://www.qiansw.com/using-cwrsync-in-the-windows-directory-between-the-incremental-synchronization ...

  7. 怎么显示隐藏Mac上的隐藏文件

    打开终端,输入:defaults write com.apple.finder AppleShowAllFiles -bool true 此命令显示隐藏文件defaults write com.app ...

  8. LightOJ - 1422 Halloween Costumes —— 区间DP

    题目链接:https://vjudge.net/problem/LightOJ-1422 1422 - Halloween Costumes    PDF (English) Statistics F ...

  9. 「LuoguP3369」 【模板】普通平衡树 (用vector乱搞平衡树

    Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入 x 数 删除 x 数(若有多个相同的数,应只删除一个) 查询 x 数的排名(排名定义为比当前 ...

  10. Naïve Bayes Models

    贝叶斯模型假设: 为防止概率为零的情况,做拉普拉斯平滑得: 下面介绍一下朴素贝叶斯模型与多变量伯努利模型的区别: 朴素贝叶斯: 多变量伯努利: 即: 多变量伯努利模型不考虑样本出现的次数,每个特征的取 ...