JAVA014--异常
来源:互联网 发布:淘宝灰色退款思路 编辑:程序博客网 时间:2024/06/15 12:43
错误和异常
import java.io.File;
import java.io.FileInputStream;
public class TestMain {
public static void main(String[] args) { // TODO Auto-generated method stub //错误(Error): //语法错误---在编译期报错,修改为正确的语法
// TestMain.test();
//逻辑错误–编译不报错、运行也不报错,但结果不是我们需要的,往往是算法问题
//运行时错误–在运行期报错,报错类型名字后面是Error,往往是硬件问题或环境问题,无法用异常处理机制解决
// test(5);
//异常(Exception) //运行时异常(未检查异常,UnCheckedException)--在运行期报错,报错类型名字后面是Exception,可以使用异常处理机制
// int[] array = new int[5];
// System.out.println(array[5]);
//编译时异常(检查异常,CheckedException)
// FileInputStream fis = new FileInputStream(“D:/hello.txt”);
}
public static void test(int a){ System.out.println("Hello"); test(10);}
异常的处理
- 运行时异常 1.修改源代码,将异常情况规避(最好的解决方式)。2.使用异常捕获机制(try-catch-finally)
- 编译时异常 一个方法在声明部分书写throws xxxException,以至于调用者在编译时受到警告(编译不通过)强制要求调用者进行处理(1.往上抛,2.使用try-catch)
finally 块
不管是否发生异常,都必须要执行的代码,不管是否有break,还是return。优先执行。通常用于资源的管理,通道的关闭,内存回收。
throw和throws的区别
- throw 1.写在方法中,后面跟着异常对象 2.只能跟一个对象 3.一旦执行到这句代码,一定会发生异常。
- throws 1.写在方法声明最后,后面跟着异常类名。2.可以有多个异常类名,用逗号分隔。3.表明本方法有可能发生某个异常
import java.util.InputMismatchException;
import java.util.Scanner;
public class ClassB {
//throws 书写在方法声明的最后//throws 后面跟的是异常类名 ,而且可以有多个类名(中间由逗号分隔)//throws 表明本方法有可能发生某个类型的异常public void b() throws Exception{ System.out.println("b方法开始"); Scanner scan = new Scanner(System.in); int result = scan.nextInt(); if(result >= 0){ //如果程序员主动抛出一个异常---需要使用throw 异常对象; //throw 书写在方法体 //throw后面跟的是异常对象(只能跟1个对象) //一旦执行到throw这句代码,一定会发生异常 //如果throw后面的异常对象是编译时异常,那么该方法声明后面必须加throws //如果throw后面的异常对象时运行时异常,那么该方法声明后面可以不加throws throw new Exception(); } System.out.println("b方法结束");}public void bb(){ try { this.b(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }}
}
0 0
- JAVA014--异常
- 异常
- 异常!
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 异常
- 解决android使用gson解析json字符串,并使用混淆编译方式打包apk遇到的问题
- 停止一切对业务数据库的访问链接
- shell(五)
- git 到https时证书错误的解决方案
- MIT6.828 HW5 CPU alarm
- JAVA014--异常
- 《图解TCP/IP》读书笔记(3)
- Growthpush的push通知为什么当连在wifi的时候就不能收到
- linux centos 搭建 active mq
- 本地如何搭建IPv6环境测试APP是否支持
- 用户手势检测-GestureDetector使用详解
- 接口逻辑设计
- 如何理解Javscript中的函数调用和"this"
- 【刷题之路】快速排序