2018-07-24  14:42:24

第一种:

第二种:

第三种:

 执行

try--catch--finally--return(执行return  退出方法)

代码示例:

输入数字,输出对应课程

1.如果输入的不是数字,抛出异常

2.如果输入的是数字,但数字没有对应的课程,抛出异常

throw   new Exception();

catch  捕获对应异常,处理  或者 在方法声明的时候抛出异常类型,由方法的调用者处理异常

 package day09.com.neusoft.test;

 import java.util.Scanner;

 public class InOutException {

     public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in); System.out.println("请输入课程代号(1~3):"); try { int a = input.nextInt(); if(a==1||a==2||a==3){
switch(a) {
case 1:
System.out.println("JAVA编程");
break;
case 2:
System.out.println("ORACLE数据库");
break;
case 3:
System.out.println("C语言编程");
break;
}
}else { throw new Exception();
}
}catch(Exception e) {
System.out.println("您的输入不合法!");
}
System.out.println("欢迎提出建议!"); } }

log4j

步骤:

1.在项目的目录下新建 lib文件夹

2.log4j.jar--->lib

3.build path  构建路径

4.log4j.properties--->项目目录或(包目录)下

 package day09.com.neusoft.test;

 import org.apache.log4j.Logger;

 /**
* 数组下标越界异常
* @author ljj
*
*/
public class ArrayExcaption {
private static Logger jbit = Logger.getLogger(ArrayExcaption.class.getName());
public static void main(String[] args) { int[] arr = new int[] {1,2,3,4,5};
jbit.debug("数组的第一个值:"+arr[0]);
try {
//遍历数组
for(int i=0;i<=arr.length;i++){
System.out.println(arr[i]);
}
} catch (ArrayIndexOutOfBoundsException e) {
jbit.error("数组下标越界!",e);
//System.out.println("数组下标越界!"+e.getMessage());
}catch(Exception e) {
//e.getStackTrace();
jbit.error(e.getMessage());
}finally {
System.out.println("欢迎使用本程序!");
} } }

jbit是文件名

 package day09.com.neusoft.test;

 import java.util.InputMismatchException;
import java.util.Scanner; import org.apache.log4j.Logger; /**
* 除法运算
* @author ljj
*
*/
public class InputaErrorException {
private static Logger logger = Logger.getLogger(InputaErrorException.class.getName());
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in); //
try {
System.out.println("请输入被除数:");
int a = input.nextInt();
System.out.println("请输入除数:");
int b = input.nextInt();
System.out.println("a/b="+a/b);
logger.info("a/b="+a/b);
}catch(InputMismatchException ie) {
logger.error(ie.getMessage()); }catch(ArithmeticException ae) {
logger.warn(ae.getMessage());
} } }

try{

}finally{

}

可以这样用

逆袭之旅DAY28.XIA.异常处理的更多相关文章

  1. 逆袭之旅DAY.XIA.Object中常用方法

    2018-07-31

  2. 逆袭之旅DAY31.XIA.JDBC

    2018-07-31 MySQL package oop_emp.com.neusoft.dao; import java.sql.Connection; import java.sql.Driver ...

  3. 逆袭之旅DAY30.XIA.集合

    2018年7月26日 面试题:List和set的区别 ArrayList 遍历效率较高,但添加和删除较慢 遍历集合最高效的方法:迭代器 集合的遍历: 迭代器:Iterator 创建 为什么使用泛型: ...

  4. 逆袭之旅DAY24.XIA.二重进阶、双色球

    一. 选择题. 1. 以下关于二重循环的说法正确的是(D). A. 二重循环就是一般程序中只能有两个循环 B. While循环不能嵌套在for循环里 C. 两个重叠的循环不能嵌套在第三个循环里. D. ...

  5. 逆袭之旅DAY24.XIA.数组练习

    2018-07-20 08:40:19 1. public void stringSort(){ String[] s = new String[]{"George"," ...

  6. 逆袭之旅DAY20.XIA.程序调试

    2018-07-16 20:25:50 F5:进入方法 F6:单步执行

  7. 逆袭之旅DAY20.XIA.循环结构

    2018-07-16 19:53:47 while循环 do do...while循环 for 循环

  8. 逆袭之旅DAY20.XIA.选择结构

    2018-07-16  18:50:49 本章目标: 基本if选择结构 逻辑运算符 多重if选择结构 嵌套if选择结构 什么是if选择结构: if选择结构是根据条件判断之后再做处理 import ja ...

  9. 逆袭之旅DAY20.xia.师父指导.数据类型

    2018-07-16  09:35:57 基础是王道 从码农--软件工程师--软件架构师 String 首字母大写,特殊引用类型,常量类 二.数组 存钱罐(只能放钱) 数据兼容 数组的长度(定义后长度 ...

随机推荐

  1. file类中,命令记录

    file的长度>>4096当前盘符总空间字节数>>>151200460800当前盘符的可用空间字节数>>>143769821184 long a = f ...

  2. 日常英语---十四、Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中)

    日常英语---十四.Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中) 一.总结 ...

  3. 开发者说 | Apollo控制算法之汽车动力学模型和LQR控制

    参考:https://mp.weixin.qq.com/s?__biz=MzI1NjkxOTMyNQ==&mid=2247486444&idx=1&sn=6538bf1fa74 ...

  4. 雷林鹏分享:查看 XML 文件

    查看 XML 文件 在所有主流的浏览器中,均能够查看原始的 XML 文件. 不要指望 XML 文件会直接显示为 HTML 页面. 查看 XML 文件 - Tove Jani Reminder Don' ...

  5. ROC曲线(receiver-operating-characteristic curve)-阈值评价标准(转)

    转自:http://blog.csdn.net/abcjennifer/article/details/7359370 ROC曲线指受试者工作特征曲线 / 接收器操作特性曲线(receiver ope ...

  6. ionic3 打包一个已签名的apk

    1 进入ionic官方文档,点击左边导航菜单,找到INTRO下的Deploying2 终端进入项目目录(根据项目环境定是否需要root权限)3 运行命令ionic cordova build andr ...

  7. canvas学习之饼状图

    接着上一节说,这次我使用canvas绘制了饼状图,主要是SectorGraph.js, 引入 import {canvasPoint} from '../../assets/js/canvas';im ...

  8. Confluence 6 空间权限概述

    在 Confluence 中的每一个空间都会有自己的权限,这个权限可以被空间的管理员进行调整,也可以被空间管理员取消.当用户创建一个空间的时候,例如用户创建一个你的个人空间,创建控件的这个用户将会被自 ...

  9. Luffy之前端项目部署搭建

    1. 搭建前端项目 1.1 创建项目目录 cd 项目目录 vue init webpack lufei 根据需要在生成项目时,我们选择对应的选项, 效果: 根据上面的提示,我们已经把vue项目构建好了 ...

  10. Python基础之模块以及5大模块的使用

    内容梗概: 1. 模块的简单认识 2. collections模块 3. time时间模块 4. random模块 5. os模块 6. sys模块 1.模块的简单认识定义:模块就是我们把装有特定功能 ...