package cn.itcast_02;

 /*
* A:一个异常
* B:二个异常的处理
* a:每一个写一个try...catch
* b:写一个try,多个catch
* try{
* ...
* }catch(异常类名 变量名) {
* ...
* }
* catch(异常类名 变量名) {
* ...
* }
* ...
*
* 注意事项:
* 1:能明确的尽量明确,不要用大的来处理。
* 2:平级关系的异常谁前谁后无所谓,如果出现了子父关系,父必须在后面。
*
* 注意:
* 一旦try里面出了问题,就会在这里把问题给抛出去,然后和catch里面的问题进行匹配,
* 一旦有匹配的,就执行catch里面的处理,然后结束了try...catch,继续执行后面的语句。
*/
public class ExceptionDemo2 {
public static void main(String[] args) { // method1(); // method2(); // method3(); method4();
} public static void method4() {
int a = 10;
int b = 0;
int[] arr = { 1, 2, 3 }; // 爷爷在最后
try {
System.out.println(a / b);
System.out.println(arr[3]);
System.out.println("这里出现了一个异常,你不太清楚是谁,该怎么办呢?");
} catch (ArithmeticException e) {
System.out.println("除数不能为0");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("你访问了不该的访问的索引");
} catch (Exception e) {//它可以匹配所有的异常
System.out.println("出问题了");
} System.out.println("over"); /*
try {
System.out.println(a / b);
System.out.println(arr[3]);
System.out.println("这里出现了一个异常,你不太清楚是谁,该怎么办呢?");
} catch (Exception e) {//爷爷在前面是不可以的
System.out.println("出问题了");
} catch (ArithmeticException e) {
System.out.println("除数不能为0");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("你访问了不该的访问的索引");
} System.out.println("over");*/
} // 两个异常的处理,写一个try,多个catch
public static void method3() {
int a = 10;
int b = 0;
int[] arr = { 1, 2, 3 }; try {
System.out.println(arr[3]);
System.out.println(a / b);
// System.out.println(arr[3]);
} catch (ArithmeticException e) {
System.out.println("除数不能为0");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("你访问了不该的访问的索引");
} System.out.println("over");
} // 两个异常的处理,每一个写一个try...catch
public static void method2() {
int a = 10;
int b = 0;
try {
System.out.println(a / b);
} catch (ArithmeticException e) {
System.out.println("除数不能为0");
} int[] arr = { 1, 2, 3 };
try {
System.out.println(arr[3]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("你访问了不该的访问的索引");
} System.out.println("over");
} // 一个异常的处理
public static void method1() {
// 第一阶段
int a = 10;
// int b = 2;
int b = 0; try {
System.out.println(a / b);
} catch (ArithmeticException ae) {
System.out.println("除数不能为0");
} // 第二阶段
System.out.println("over");
}
}

异常-try...catch的方式处理异常2的更多相关文章

  1. 异常-try...catch的方式处理异常1

    package cn.itcast_02; /* * 我们自己如何处理异常呢? * A:try...catch...finally * B:throws 抛出 * * try...catch...fi ...

  2. Java基础知识强化之IO流笔记02:try...catch的方式处理异常

    1. 案例示例: package com.himi.trycatch; public class ExceptionDemo { public static void main(String[] ar ...

  3. [转载]C++异常机制的实现方式和开销分析

    原文章网址:http://baiy.cn/doc/cpp/inside_exception.htm C++异常机制的实现方式和开销分析 白杨 http://baiy.cn 在我几年前开始写<C+ ...

  4. ASP.NET中处理异常的几种方式

    1.程序中使用try catch 对于预知会发生异常的代码段使用try catch主动捕获异常,适用于提示给用户或跳转到错误页面,或者通过其它方式处理异常(日志.通知等). int i = 10; i ...

  5. C++异常机制的实现方式和开销分析

    C++异常机制的实现方式和开销分析 白杨 http://baiy.cn http://baiy.cn/doc/cpp/inside_exception.htm 在我几年前开始写<C++编码规范与 ...

  6. T-SQL编程中的异常处理-异常捕获(catch)与抛出异常(throw)

    本文出处: http://www.cnblogs.com/wy123/p/6743515.html T-SQL编程与应用程序一样,都有异常处理机制,比如异常的捕获与异常的抛出,本文简单介绍异常捕获与异 ...

  7. C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路

    C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...

  8. C++异常机制的实现方式和开销分析 (大图,编译器会为每个函数增加EHDL结构,组成一个单向链表,非常著名的“内存访问违例”出错对话框就是该机制的一种体现)

    白杨 http://baiy.cn 在我几年前开始写<C++编码规范与指导>一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了.没想到时隔几年以后才有机会把这个尾巴补完 :- ...

  9. java中的异常 try catch

    1.学习异常的原因?      如果没有异常处理机制,那么程序的一点小问题,都会导致[程序终止运行].实际开发中显然是不可能的,所以异常对于程序来说是非常重要的.     2.处理异常的方式:   A ...

随机推荐

  1. NProgress的使用 及 路由 token 定向的使用

    主要配合路由生命周期使用 实现一个进度条的效果 使用方法: 1. 下载:npm install --save nprogress 使用:NProgress.start();  开始 NProgress ...

  2. 框架-Eureka:百科

    ylbtech-框架-Eureka:百科 1.返回顶部 1. Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中 ...

  3. ajax设置头信息,读取头信息

    一.设置头信息 jQuery function GetDateForServiceCustomer(userId) { $.ajax({ url: 'http://*******/api/orders ...

  4. 真正解决方案:phpMyAdmin #1089 - Incorrect prefix key; the storage engine doesn't support unique prefix key

    先直接给解决方案: 点击A_I后,不要输入大小,直接点击执行!!! 分析 当你在使用phpMyAdmin 创建数据库表的时候,一般我们需要设置一个主键,然后让其自增长,但是有时候当你设置完成后,你可能 ...

  5. 001-tomcat下载、解压、启动、开机启动

    一.tomcat作用 Tomcat就是Servlet容器 下载解压 下载:找到合适版本下载使用即可 http://tomcat.apache.org/ window 下载zip解压 linux上使用 ...

  6. 更改mysql 数据库 utf8

    mysql> alter database 数据库名 character set utf8;

  7. Android云端APP

    使用HbuilderX打包APP 首先创建一个 5+APP+使用MUI项目 <!DOCTYPE html> <html> <head> <meta chars ...

  8. avast关闭DeepScreen

    在“设置”-“防病毒”-去掉“启用 DeepScreen”.

  9. 搭建hadoop2.4.1

    前期准备: 1.系统基本形况: ip hostname role server loginName 192.168.1.101 h1 NameNode,ResourceManager centos7_ ...

  10. Kubernetes-kubectl The connection to the server localhost:8080 was refused -did you specify

    今天在Kubernetes的从节点上运行命令[kubectl]出现了如下错误: [root@k8snode1 kubernetes]# kubectl get pod The connection t ...