异常

本文深入探讨了Java中的异常处理机制,包括编译异常与运行异常的区别,错误与异常的处理方式,以及throw与throws的不同之处。同时提供了具体的代码示例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



package Class8;

import java.net.Socket;

/**
 * 异常
 * 出现异常的地方就会终止执行代码,进入catch语句
 *    编译异常  Exception
 *    运行异常  RuntimeException 经典案例:数组越界
 *    错误  Error  很少见,最难处理的异常  如:内存不足,运行环境的错误,外部错误
 *    
 *异常处理
 *try{
 *
 *}catch(Exception e){
 *}
 *    
 * finally
 *   以下情况finally不会被执行
 *   1.finally块中发生了异常
 *   2.程序所在线程死亡
 *   3.在前面的代码中用了System.exit(0)
 *   4.关闭CPU
 *   
 * throw和throws的区别:
 * 1、throw代表动作,表示抛出一个异常的动作;throws代表一种状态,代表方法可能有异常抛出
 * 2、throw用在方法实现中,而throws用在方法声明中
 * 3、throw只能用于抛出一种异常,而throws可以抛出多个异常 
 * 
 * throws是用来声明一个方法可能抛出的所有异常信息
 * throw则是指抛出的一个具体的异常类型。
 */

//案例: 打开文件
public class Test3 {
 public static void main(String args[]){
  //检查异常
  /**
   * 编译异常
   */
  //1.打开文件,报异常
  //FileReader fr = new FileReader("e:\\aa.text");
  
  //2.连接一个192.168.12.12 ip的端口号4567
  //Socket s = new Socket("192.168.1.23",78);
  
  /**
   * 运行异常
   */
  // 0作除数
      //int a = 4/0;  
  //数组越界
      //int arr[] = {1,2,3};
     //System.out.println(arr[22]);
  //
  
 }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值