java中2种方法处理异常:
1、在发⽣异常的地方直接处理;
2、将异常抛给调用者,让调⽤者处理。
异常分类
1、检查性异常: java.lang.Exception
2、运⾏期异常: java.lang.RuntimeException
3、错误: java.lang.Error
顶层是java.lang.Throwable类,检查性异常、运⾏期异常、错误都是这个类的⼦孙类,
ja va . la n g. Exce pt i on和ja va . la n g. Error继承⾃ja va . la n g. Th rowa ble,⽽
java.lang.RuntimeException继承⾃java.lang.Exception
1、检查性异常:
程序正确,但因为外在的环境条件不满⾜引发。例如:用户错误及I/O问题--程序试图打
开⼀个并不存在的远程Socket端⼝,或者是打开不存在的文件时。这不是程序本身的逻辑
错误,⽽很可能是远程机器名字错误(⽤户拼写错误),对商⽤软件系统,程序开发者必须
考虑并处理这个问题。 java编译器强制要求处理这类异常,如果不捕获这类异常,程序将
不能被编译。
2、运行期异常:
这意味着程序存在bug,如数组越界、 0被除、入参不满足规范...这类异常需要更改程序
来避免, java编译器强制要求处理这类异常。
3、错误:
一般很少见,也很难通过程序解决,它可能源于程序的bug,但⼀般更可能源于环境问
题,如内存耗尽。错误在程序中⽆需处理,由运行环境处理。


/*
栗子 异常 try...catch */ import java.util.Random; public class test_fanxing {
public static void main(String[] args){
int x = new Random().nextInt(5);
int y = new Random().nextInt(10);
int[] z = new int[5];
try{
System.out.println("x=" + x + "y=" + y + "y/x=" + (y/x));
System.out.println("y=" + y + "z[y]=" + z[y]);
}
catch(ArithmeticException exc1){
//分步捕获算术运算异常信息
System.out.println("算术运算异常:" + exc1.getMessage());
}
catch(ArrayIndexOutOfBoundsException exc2){
System.out.println("数组越界异常:" + exc2.getMessage());
} }
} 2、 finally
如果把finally块置try...catch...语句后, finally块⼀般都会得到执⾏,它相当于⼀个
万能的保险,即使前⾯的try块发⽣异常,⽽⼜没有对应异常的catch块, finally块将⻢上
执⾏。
以下情形, finally块将不会被执⾏:
1、 finally块中发⽣了异常;
2、程序所在的线程死亡;
3、在前⾯的代码中⽤了System.exit();
4、关闭CPU

/*
栗子 finally */ import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.Socket; public class test_fanxing {
public static void main(String[] args) {
FileReader fr = null;
//检查异常
//1. 打开不存在的文件
try{
//fr = new FileReader("D:\\aa.txt");
//System.exit(-1);//使用System.exit()后finally语句块不再执行
Socket s = new Socket("192.168.956.1",21);
}
/* catch (FileNotFoundException e){
System.out.println("文件不存在:" + e.getMessage());//getMessage()不如printStackTrace()
//e.printStackTrace();//输出bug 信息
}*/ catch(IOException e2){
e2.printStackTrace();
}
finally {
//try.catch...语句块中不管出没出现异常,一般都会执行finally语句块
//一般说,把需要关闭的资源。如【文件】、【链接】、【内存】....
System.out.println("测试进入finally语句块");
if(fr!=null){
try{
fr.close();
}
catch (Exception e){
e.printStackTrace();
}
}
} System.out.println("OK1"); }
}
/*
【结果】
文件不存在:D:\aa.txt (系统找不到指定的文件。)
测试进入finally语句块
OK1
2.如果把第一个catch注释掉
【结果】
java.net.UnknownHostException: 192.168.956.1
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at test_fanxing.main(test_fanxing.java:23)
测试进入finally语句块
OK1 */
import java.io.FileReader;

/*
栗子 异常处理 将异常抛给调用者,让调用者处理 */
class Son{
public void test2() throws Exception{
FileReader fr = null;
fr = new FileReader("D:\\aaa.txt");
}
}
class Father{
private Son son = null;
public Father(){
son = new Son();
}
public void test1(){
System.out.println("1");
try{
son.test2();
}catch (Exception e){
System.out.println("Father在处理Son的异常");
e.printStackTrace(); }
} }
public class test_fanxing {
public static void main(String[] args) {
Father father = new Father();
father.test1();
}
}
/*
【结果】
1
Father在处理Son的异常
java.io.FileNotFoundException: D:\aaa.txt (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at java.io.FileReader.<init>(FileReader.java:58)
at Son.test2(test_fanxing.java:10)
at Father.test1(test_fanxing.java:21)
at test_fanxing.main(test_fanxing.java:33) */ 异常处理
3、多个异常的处理规则
定义多个catch可精确地定位异常。 如果为⼦类的异常定义了特殊的catch块,⽽⽗类的
异常则放在另外⼀个catch块中,此时,必需满⾜以下规则:
⼦类异常的处理块必需在⽗类异常处理块的前⾯,否则会发⽣编译错误。所以越特殊的
异常越在前⾯处理,越普通的异常越在后⾯处理。这类似于制订防⽕墙的规则次序: 较特
殊的规则在前,较普通的规则在后

对异常的处理,有⼀条⾏之有效的默认规则:向上抛出----被调⽤类在运⾏过程中对遇
到的异常⼀概不作处理,⽽是直接向上抛出,⼀直到最上层的调⽤类,调⽤类根据应⽤系
统的需求和特定的异常处理规则进⾏处理,如向控制台输出异常堆栈信息,打印在⽇志⽂
件中。⽤⼀句形象的话来说,就是谁使⽤,谁(最上层的调⽤类)处理
import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;

import java.io.FileReader;
import java.util.ArrayList;
import java.util.Scanner; /*
栗子 1. 跳水比赛,8个评委,运动员的成绩是8个成绩去掉一个最高分,去掉一个最低分,剩下的6个分数的平均分就是
最后得分。使用一维数组实现
2. 请把打最高分的评委和最低分的评委打出来
3. 用ArrayList写
*/
//裁判信息类
class Dive{
private String name;
private float fraction;
public Dive(String name,float fraction){
this.name = name;
this.fraction = fraction;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public float getFraction() {
return fraction;
} public void setFraction(float fraction) {
this.fraction = fraction;
}
}
//裁判类
class Referee{
private ArrayList<Dive> al = null;
public Referee(){
al = new ArrayList<Dive>();
}
//加入裁判
public void addDive(Dive dive){
al.add(dive);
}
//查看选手得分
public void View(){
float allnum=0f,pjnum=0f;
//遍历
for(int i=0;i<al.size();i++){
for(int j=1;j<al.size()-i;j++){
Dive dive1 = al.get(j-1);
Dive dive2 = al.get(j);
if(dive1.getFraction()<dive2.getFraction()){
al.set(j,dive1);
al.set(j-1,dive2);
}
}
}
//去掉最高分和最低分,得出选手得分
for(int i=1;i<al.size()-1;i++){
Dive dive = al.get(i);
allnum = dive.getFraction()+allnum;
}
pjnum = allnum/(al.size()-2);
System.out.println("跳水选手得分为: " + pjnum);
} //找出最高分和最低分
public void Cal(){
for(int i = 0;i<al.size()-1;i++){
for(int j=1;j<al.size()-i;j++){
Dive dive1 = al.get(j-1);
Dive dive2 = al.get(j);
if(dive1.getFraction()<dive2.getFraction()){
al.set(j,dive1);
al.set(j-1,dive2);
}
}
}
//找出最高分与最低分
for(int i=0;i<al.size();i++){
if(i == 0){
Dive dive = al.get(i);
System.out.println("打分最高的裁判是: " + dive.getName() + "\t分数是: " + dive.getFraction());
}else if(i == al.size()-1){
Dive dive = al.get(i);
System.out.println("打分最低的裁判是: " + dive.getName() + "\t分数是: " + dive.getFraction()); }
}
}
} public class test_fanxing {
public static void main(String[] args) {
Referee rf = new Referee();
try{
while(true){
System.out.println("跳水评分系统");
System.out.println("1. 裁判打分");
System.out.println("2. 查看得分");
System.out.println("3. 查看最高分和最低分");
System.out.println("0. 退出");
Scanner sr = new Scanner(System.in);
int num = sr.nextInt();
//裁判打分
if(num == 1){
System.out.print("请输入裁判人数:");
int j = sr.nextInt();
for(int i=0;i<j;i++){
System.out.print("请输入人第" + (i+1) + "位裁判名字:");
String name = sr.next();
System.out.print("裁判请输入评分:");
float fraction = sr.nextFloat();
Dive dive = new Dive(name,fraction);
rf.addDive(dive);
System.out.println("第" + (i+1) + "位裁判:" + name + "打分为:" + fraction);
}
}
//查看得分
else if(num == 2){
rf.View();
}
//查看最高分和最低分
else if(num == 3){
rf.Cal();
}
//退出系统
else if(num == 0){
System.out.println("已正常退出系统");
System.exit(0);
}
} }catch(Exception e){
e.printStackTrace();
} }
}
/*
【结果】
跳水评分系统
1. 裁判打分
2. 查看得分
3. 查看最高分和最低分
0. 退出
2
跳水选手得分为: -0.0
跳水评分系统
1. 裁判打分
2. 查看得分
3. 查看最高分和最低分
0. 退出
1
请输入裁判人数:4
请输入人第1位裁判名字:q
裁判请输入评分:100
第1位裁判:q打分为:100.0
请输入人第2位裁判名字:w
裁判请输入评分:200
第2位裁判:w打分为:200.0
请输入人第3位裁判名字:e
裁判请输入评分:300
第3位裁判:e打分为:300.0
请输入人第4位裁判名字:r
裁判请输入评分:400
第4位裁判:r打分为:400.0
跳水评分系统
1. 裁判打分
2. 查看得分
3. 查看最高分和最低分
0. 退出
2
跳水选手得分为: 250.0
跳水评分系统
1. 裁判打分
2. 查看得分
3. 查看最高分和最低分
0. 退出
3
打分最高的裁判是: r 分数是: 400.0
打分最低的裁判是: q 分数是: 100.0
跳水评分系统
1. 裁判打分
2. 查看得分
3. 查看最高分和最低分
0. 退出
0
已正常退出系统 */

/*
栗子 1. 跳水比赛,8个评委,运动员的成绩是8个成绩去掉一个最高分,去掉一个最低分,剩下的6个分数的平均分就是
最后得分。使用一维数组实现
2. 请把打最高分的评委和最低分的评委打出来
3. 用一维数组写
*/ import java.util.Scanner; class Judge{
float fens[] = null;
int size = 8;
public Judge(){
fens = new float[size];
Scanner sr = new Scanner(System.in);
try{
for(int i=0;i<fens.length;i++){
System.out.println("请输入第" + (i+1) + "位裁判的成绩:");
fens[i] = sr.nextFloat();
}
}
catch (Exception e){
System.out.println("输入人的不是float类型!");
e.printStackTrace();
}
finally{
try{
sr.close();
}catch (Exception e2){
e2.printStackTrace();
}
}
} //1. 去掉最低分(目的是找到最得分的下标)
public int getminFenIndex(){
//选择法
//认为第一个是最低分
float minFen = fens[0];
int minIndex = 0;
for(int i=1;i<fens.length;i++){
if(minFen>fens[i]){
minFen = fens[i];
minIndex=i;
}
}
return minIndex;
}
//2.去掉最高分(目的是找出最高分的下标)
public int getMaxFenIndex(){
//选择法
//认为第一个是最高分
float maxFen = fens[0];
int maxIndex = 0;
for(int i=1;i<fens.length;i++){
if(maxFen<fens[i]){
maxFen = fens[i];
maxIndex = i; }
}
return maxIndex;
}
//得到最后的评分
public float lastFen(){
//3. 得到最后分数
float allFen = 0;
int minIndex = this.getminFenIndex();
int maxIndex = this.getMaxFenIndex();
for(int i = 0;i<fens.length;i++){
if(i!=minIndex && i!=maxIndex){
allFen += fens[i];
}
}
return allFen/(fens.length-2); }
}
public class test_fanxing {
public static void main(String[] args) {
Judge judge = new Judge();
System.out.println("得分: " + judge.lastFen()); }
}
/*
【结果】
请输入第1位裁判的成绩:
100
请输入第2位裁判的成绩:
200
请输入第3位裁判的成绩:
300
请输入第4位裁判的成绩:
400
请输入第5位裁判的成绩:
500
请输入第6位裁判的成绩:
600
请输入第7位裁判的成绩:
700
请输入第8位裁判的成绩:
800
得分: 450.0 */
import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;

import java.util.ArrayList;
import java.util.Scanner; /*
栗子 实现一个简单学生成绩管理系统
定义一个数组,用户输入人10个同学的成绩,数组下标即代表学生学号
要求:
1. 输入学号,打印学生成绩
2. 输入成绩,打印学生学号
3. 统计各个分数截断学生人数(不及格,差,中,良,优)
4.输入学号,实现删除学生成绩功能 */
class Student{
private float Score;
public Student(float Score){
this.Score = Score;
}
public float getScore(){
return Score;
}
public void setScore(float score){
Score = score;
} } class Result{
Scanner sr = new Scanner(System.in);
private ArrayList<Student> al = null;
public Result(){
al = new ArrayList<Student>();
}
//加入成绩
public void addResult(Student student){
al.add(student);
}
//输入学号,打印学生成绩
public void ld(){
System.out.println("请输入查询学号进行查询:");
int id = sr.nextInt();
for(int i=0;i<al.size();i++){
if(id == i){
Student st = al.get(i-1);
System.out.println("学号为:" + id + "成绩是:" + st.getScore()); }
}
}
//输入成绩,打印学号
public void Score(){
System.out.println("请输入成绩进行查询:");
float Score = sr.nextFloat();
for(int i=0;i<al.size();i++){
if(Score==al.get(i).getScore()){
System.out.println("成绩是:" + Score + "得此成绩的学号为:" + (i+1));
}
}
} //统计各个分数截断人数
public void Count(){
int a=0,b=0,c=0,d=0,e=0,f=0;
for(int i=0;i<al.size();i++){
if(al.get(i).getScore() <= 100f && al.get(i).getScore() >= 90f){
a++;
}
else if(al.get(i).getScore()<90f && al.get(i).getScore()>=80f){
b++;
}
else if(al.get(i).getScore()<80f && al.get(i).getScore()>=70f){
c++;
}
else if(al.get(i).getScore()<70f && al.get(i).getScore()>=60){
d++;
}
else if(al.get(i).getScore()<60 && al.get(i).getScore()>0){
e++;
}
else if(al.get(i).getScore() == 0){
f++;
}
}
System.out.println("成绩优有: " + a + "人");
System.out.println("成绩良有: " + b + "人");
System.out.println("成绩中有: " + c + "人");
System.out.println("成绩差有: " + d + "人");
System.out.println("成绩不及格有: " + e + "人");
System.out.println("无成绩有: " + f + "人");
} //通过学号删除成绩
public void Del(){
System.out.println("请输入要删除成绩的学号:");
int id = sr.nextInt();
id = id - 1;
for(int i =0;i<al.size();i++){
if(id == i){
al.set(i,null);
System.out.println("学号是:" + (id+1) + "的成绩已清除");
}
}
} } public class test_fanxing {
public static void main(String[] args) {
Result rs = new Result();
while(true){
System.out.println("学生成绩管理系统");
System.out.println("1. 录入学生成绩");
System.out.println("2. 通过学号查成绩");
System.out.println("3. 通过成绩查学号");
System.out.println("4. 统计成绩分类人数");
System.out.println("5. 通过学号删除成绩");
System.out.println("0. 退出系统");
System.out.println("请选择操作:");
Scanner sr = new Scanner(System.in);
int num = sr.nextInt();
if(num == 1){
System.out.println("需要录入多少学生成绩: ");
int j = sr.nextInt();
for(int i = 0;i<j;i++){
System.out.print("请输入第" + (i+1) + "位学生的成绩:");
float Score = sr.nextFloat();
Student student = new Student(Score);
rs.addResult(student);
}
}else if(num == 2){
rs.ld();
}else if(num == 3){
rs.Score();
}else if(num == 4){
rs.Count();
}else if(num == 5){
rs.Del();
}else if(num == 0){
System.out.println("退出系统");
System.exit(0);
} } }
}
/*
【结果】
学生成绩管理系统
1. 录入学生成绩
2. 通过学号查成绩
3. 通过成绩查学号
4. 统计成绩分类人数
5. 通过学号删除成绩
0. 退出系统
请选择操作:
1
需要录入多少学生成绩:
2
请输入第1位学生的成绩:100
请输入第2位学生的成绩:50
学生成绩管理系统
1. 录入学生成绩
2. 通过学号查成绩
3. 通过成绩查学号
4. 统计成绩分类人数
5. 通过学号删除成绩
0. 退出系统
请选择操作:
1
需要录入多少学生成绩:
4
请输入第1位学生的成绩:70
请输入第2位学生的成绩:80
请输入第3位学生的成绩:90
请输入第4位学生的成绩:60
学生成绩管理系统
1. 录入学生成绩
2. 通过学号查成绩
3. 通过成绩查学号
4. 统计成绩分类人数
5. 通过学号删除成绩
0. 退出系统
请选择操作:
1
需要录入多少学生成绩:
1
请输入第1位学生的成绩:0
学生成绩管理系统
1. 录入学生成绩
2. 通过学号查成绩
3. 通过成绩查学号
4. 统计成绩分类人数
5. 通过学号删除成绩
0. 退出系统
请选择操作:
2
请输入查询学号进行查询:
1
学号为:1成绩是:100.0
学生成绩管理系统
1. 录入学生成绩
2. 通过学号查成绩
3. 通过成绩查学号
4. 统计成绩分类人数
5. 通过学号删除成绩
0. 退出系统
请选择操作:
3
请输入成绩进行查询:
50
成绩是:50.0得此成绩的学号为:2
学生成绩管理系统
1. 录入学生成绩
2. 通过学号查成绩
3. 通过成绩查学号
4. 统计成绩分类人数
5. 通过学号删除成绩
0. 退出系统
请选择操作:
4
成绩优有: 2人
成绩良有: 1人
成绩中有: 1人
成绩差有: 1人
成绩不及格有: 1人
无成绩有: 1人
学生成绩管理系统
1. 录入学生成绩
2. 通过学号查成绩
3. 通过成绩查学号
4. 统计成绩分类人数
5. 通过学号删除成绩
0. 退出系统
请选择操作:
0
退出系统 */
import java.util.Scanner;

/*
栗子 实现一个简单学生成绩管理系统
定义一个数组,用户输入人10个同学的成绩,数组下标即代表学生学号
要求:
1. 输入学号,打印学生成绩
2. 输入成绩,打印学生学号
3. 统计各个分数截断学生人数(不及格,差,中,良,优)
4.输入学号,实现删除学生成绩功能 */ class Student{
Scanner sr = new Scanner(System.in);
float arr[] = null;
int size = 10;
public Student(){
arr = new float[size];
for(int i=0;i<arr.length;i++){
System.out.println("输入第" + (i+1) + "个学生的成绩:");
arr[i] = sr.nextFloat();
}
}
//输入学号查询成绩
public void studentNo(){
System.out.println("请输入学号:");
int No = sr.nextInt();
System.out.println("学号为" + No + "的学生成绩shi: " + arr[No-1]);
}
//通过成绩差学号
public void studentScore(){
System.out.println("请输入学生成绩: ");
float Score = sr.nextFloat();
for(int i=0;i<arr.length;i++){
if(Score == arr[i]){
System.out.println("学生成绩为:" + Score + "的学号为: " + (i+1));
}
}
} //统计各个分数阶段的人数
public void People(){
int a=0,b=0,c=0,d=0,e=0,f=0;
for(int i = 0;i<arr.length;i++){
if(arr[i]==100f&&arr[i]>=90f){
a++;
}else if(arr[i]<90f&&arr[i]>=80f){
b++;
}else if(arr[i]<80f&&arr[i]>=70f){
c++;
}else if(arr[i]<70f&&arr[i]>=60f){
d++;
}else if(arr[i]<60f&&arr[i]>0){
e++;
}else if(arr[i]==0){
f++;
}}
System.out.println("成绩优有: "+a+"⼈");
System.out.println("成绩良有: "+b+"⼈");
System.out.println("成绩中有: "+c+"⼈");
System.out.println("成绩差有: "+d+"⼈");
System.out.println("不及格有: "+e+"⼈");
System.out.println("⽆成绩有: "+f+"⼈");
} //删除学生成绩
public void Del(){
System.out.println("请输入要删除成绩的学号: ");
int No = sr.nextInt();
System.out.println("学号为" + No + "的学生原成绩为:" + arr[No]);
System.out.println("学号为" + No + "的学生成绩已请" + (arr[No]=0));
} }
public class test_fanxing {
public static void main(String[] args) {
Student rs = new Student();
while(true){
System.out.println("学生成绩管理系统");
System.out.println("1. 通过学号查成绩");
System.out.println("2. 通过成绩查学号");
System.out.println("3. 统计成绩分类人数");
System.out.println("4. 通过学号删除成绩");
System.out.println("0. 退出系统");
System.out.println("请选择操作:");
Scanner sr = new Scanner(System.in);
int num = sr.nextInt();
if(num == 1){
rs.studentNo();
}else if(num == 2){
rs.studentScore();
}else if(num == 3){
rs.People();
}else if(num == 4){
rs.Del();
}else if(num == 0){
System.out.println("退出系统");
System.exit(0);
} } }
}






【Java】【异常】的更多相关文章

  1. 浅谈java异常[Exception]

    学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java! 一. 异常的定义 在<java编程思想 ...

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

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

  3. Java异常体系及分类

    上图是基本的java异常体系结构. 主要分为2大类:Error和Exception 1.Error:描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象,一般是由虚拟 ...

  4. Java异常之自定义异常

    哎呀,妈呀,又出异常了!俗话说:"代码虐我千百遍,我待代码如初恋". 小Alan最近一直在忙着工作,已经很久没有写写东西来加深自己的理解了,今天来跟大家聊聊Java异常.Java异 ...

  5. 第11章 Java异常与异常处理

    1.Java异常简介 1.什么是异常异常出现的时候代码会无法正常运行下去,会产生各种问题2.捕捉异常的作用提早发现异常,方便查找问题,并给出解决方法3.Java中的异常1.Java中所有不正常的类都是 ...

  6. java 异常

    1.java异常 2.自定义抛出 3.运行时异常,程序有问题,让使用者可以改' ' 4.return  和  throw的区别 return 符合函数要求的值    throw  有问题的时候用它结束 ...

  7. 3.Java异常进阶

    3.JAVA异常进阶 1.Run函数中抛出的异常 1.run函数不会抛出异常 2.run函数的异常会交给UncaughtExceptionhandler处理 3.默认的UncaughtExceptio ...

  8. 2.Java异常学习

    1.Java异常的概念 异常的例子 1.除法就是一个需要捕获异常的例子,除数又可能是0 异常处理的基本流程如下 一旦发生异常,就使得程序不按照原来的流程继续的运行下去 a.程序抛出异常 try{ th ...

  9. java异常架构图 和几个面试题

    1.java异常架构图 粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被 ...

  10. 黑马----JAVA异常

    黑马程序员:Java培训.Android培训.iOS培训..Net培训 黑马程序员--JAVA异常 一.JAVA异常有三种语句块:try语句块.catch语句块.finally语句块. 1.try语句 ...

随机推荐

  1. 利用arcgis发布综合又详细的地理定位服务

    数据: sheng:省,city:城市,xian:区县,street2:街道,life:生活服务(house:住宅小区)需求: 根据经纬度信息,得到详细地址信息,比如:甘肃省兰州市**县**街道**小 ...

  2. 新建git并将本地代码上传到分支

    1 查看远程分支 $ git branch -a * br-2.1.2.2 master remotes/origin/HEAD -> origin/master remotes/origin/ ...

  3. Icarscan VCI is definitely the update variation of Start iDiag

    Start iCarScan is alternative of Super X431 iDiag, it’ll make your Android smartphone or tablet righ ...

  4. Kattis之旅——Factovisors

    The factorial function, n! is defined thus for n a non-negative integer: 0! = 1 n! = n * (n-1)! (n & ...

  5. Oracle之现有表上建新表、操作符、字符函数

    #PLSQL技术培训15页PPT利用现有表创建表(百度) 说明:做新操作前要对旧表备份  具体百度 语法: create table <new_table_name> as select ...

  6. APP端上传图片 - php接口

    $base64="iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAbRJREFUSIntlDFPFF ...

  7. Django form choices, placeholder

    item=CharField(max_length=20,min_length=1,required=True,widget=widgets.TextInput({'placeholder':'tes ...

  8. JavaWeb中的资源映射

    一./与/* <url-pattern>/</url-pattern>  会匹配到/login这样的路径型url,不会匹配到模式为*.jsp这样的后缀型url< url- ...

  9. spring boot 1.x完整学习指南(含各种常见问题servlet、web.xml、maven打包,spring mvc差别及解决方法)

    spring boot 入门 关于版本的选择,spring boot 2.0开始依赖于 Spring Framework 5.1.0,而spring 5.x和之前的版本差距比较大,而且应该来说还没有广 ...

  10. WEB后台认证机制

    mark to :http://www.cnblogs.com/xiekeli/p/5607107.html HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API ...