学习JAVA异常处理try catch

java编程的错误主要分三种
1. 语法错误(syntax error)
      没有遵循语言的规则,出现语法格式上的错误,可被编译器发现
并易于纠正;
2. 逻辑错误(logic error)
      即我们常说的“bug”,意指编写的代码在执行后没有得到预期结果
      可利用一些调试技巧查找定位;
3. 运行时错误(runtime error)
      在程序运行过程中,如果环境发现一个不可能执行的操作,就会
阻止程序的继续运行
那么其中针对于异常可以使用try catch。
     在程序运行过程中出现的错误,称为异常。异常就是程序运行过
程中出现了不正常现象导致程序的中断。
1.首先我们需要捕捉异常

2.其次,拿到异常对象之后可以

String getMessage() ;// 获取异常描述信息
void printStackTrace() ;// 取得异常的堆栈信息 , 适合于程序调试阶段
     之后可以选择再度抛出异常

3.对于捕捉到的异常就是所谓的try catch语句。语法结构如下

无异常发生,天下太平
发生了异常,而且捉到了
发生了异常,但没有捉到
发生了异常,而且捉到了,但又抛出了
在离开try之前,最后都要进finally
现阶段常用一般用于读取文件或内容出现较多。
注意在函数中需要抛出异常时,需要在函数头部声明异常。
针对于能抛出的异常
任何继承了Throwable类的对象。

给出常见的运行时异常。

java.lang. NullPointerException 空指针异常 :调用了未经初始化的对象或者是不
存在的对象
java.lang. ClassCastException 数据类型转换异常
java.lang. ClassNotFoundException 指定的类找不到 :类的名称和路径加载错误;
通常都是程序试图通过字符串来加载某个类时可能引发异常
java.lang. NoSuchMethodException 方法不存在异常
java.lang. NumberFormatException 字符串转换为数字异常 :字符型数据中包含
非数字型字符
java.lang. IndexOutOfBoundsException 数组角标越界异常 ,常见于操作数组对象
时发生
java.lang. IllegalArgumentException 方法传递参数错误
java.lang. NoClassDefFoundException 未找到类定义错误
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java中,异常处理是一种机制,用于处理程序运行期间可能发生的误或异常情况。它使用`try-catch`块来控制程序流程,以便在遇到误时不会立即终止程序,而是提供了一种策略来处理这些异常。 1. **try块**:这是包含可能会抛出异常的代码部分。如果try块中的代码执行过程中发生了异常,那么程序会立即跳转到相应的catch块。 ```java try { // 可能抛出异常的代码 int result =除数为0的计算; // 假设除数为0是一个异常情况 } ``` 2. **catch块**:这是用来捕获和处理try块中抛出的异常的部分。每个catch块对应一种特定类型的异常,或者可以使用一个catch块来捕获所有类型的异常(`Exception`)。 ```java catch (ArithmeticException e) { // 捕获除数为0的ArithmeticException System.out.println("除数不能为0: " + e.getMessage()); } catch (Exception e) { // 捕获所有异常 e.printStackTrace(); } ``` 3. **finally块**:无论是否发生异常,finally块中的代码都会被执行。这通常用于资源管理,如关闭打开的文件或数据库连接。 ```java finally { // 无论是否发生异常,这里都会执行 if (inputStream != null) { inputStream.close(); } } ``` 4. **throw和throws**:除了让异常自然地从try块传递到catch块外,也可以手动用`throw`关键字抛出一个新的异常。而`throws`关键字则用于声明方法可能抛出的异常,但不负责处理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值