A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李道福 中级黑马   /  2013-4-9 10:38  /  1227 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李道福 于 2013-4-9 14:02 编辑
  1. public class Test1{

  2.         public static void main(String[] args) throws Exception {     //为什么这里写成throws IOException 就不能通过编译?
  3.                
  4.                 byte[] buf=new byte[10];
  5.                 int n=System.in.read(buf);
  6.                 String str=new String(buf,0,n);
  7.                 System.out.println("str="+str);
  8.                
  9.         }

  10. }
复制代码
非运行时的异常和运行时的异常有什么区别?

6 个回复

倒序浏览
非运行时的异常必须在函数上声明,并且一定要用try、catch进行接收和处理

运行时异常则不用再函数上声明。

如果你在函数上声明throws IOException的话,就一定要在函数中写try、catch来处理。
回复 使用道具 举报
没有导包,你加
  1. import java.io.*;
复制代码
就能通过编译了
还是贴贴代码吧
  1. import java.io.*;
  2. public class Test1{

  3.         public static void main(String[] args) throws IOException {     //为什么这里写成throws IOException 就不能通过编译?

  4.                 byte[] buf=new byte[10];
  5.                 int n=System.in.read(buf);
  6.                 String str=new String(buf,0,n);
  7.                 System.out.println("str="+str);
  8.                

  9.         }

  10. }
复制代码
在上张图
回复 使用道具 举报
java异常分为运行时异常和编译时异常,
运行时异常,是程序在运行过程中中,运行由于程序本身的缺陷,导致程序无法正常运行。运行时异常无法恢复,程序不用处理此类异常,一般的做法是产生此类异常时,根据错误信息找到错误代码,然后进行代码修复。
编译时异常,是java编译器分析的异常,方法调用者可以通过代码的检测与处理可以进行恢复。,这种异常时必须处理的,否则就会出现编译错误。

throw关键字用于方法体重,抛出异常对象。
throws用于方法上用于声明此方法有异常
回复 使用道具 举报
运行时异常都是RuntimeException类及其子类异常,如NullPointerException、IndexOutOfBoundsException等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。

    非运行时异常是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常,一般情况下不自定义检查异常。
回复 使用道具 举报
梁航斌 发表于 2013-4-9 12:36
没有导包,你加就能通过编译了
还是贴贴代码吧在上张图

多谢……
回复 使用道具 举报
李道福 发表于 2013-4-9 14:02
多谢……

客气,我也在学基础
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马