导航:首页 > 源码编译 > java属于编译时异常的是

java属于编译时异常的是

发布时间:2023-05-27 05:10:05

1. java编程中 常见的异常有哪几种

相信作为程序员的我们在对程序进行编译过程中经常会遇到错误,或者在运行过程中出现错误,在这里主要跟大家谈谈经常遇到的一些异常与错误,以及解决办法。

异常是指程序在编译或运行过程出现的错误。

在java.lang包中Throwable包含了所有的异常。

Error (错误) 和Exception(异常)

(1)Error(错误)

一旦发生无法修复,但可以避免发生。

常见错误类:

IOError:I/O错误,当发生严重的I/O错误时,抛出此错误。
VirtualMachineError:虚拟机错误,当 Java 虚拟机崩溃或用尽了它继续操作所需的资源时,抛出该错误。

StackOverflowError:栈内存满了,当应用程序递归太深而发生堆栈溢出时,抛出该错误。

OutofMemoryError:堆内存满了,因为内存溢出或没有可用的内存提供给垃圾回收器时,Java 虚拟机无法分配一个对象,这时抛出该异常。

以上是一些常见的错误,在Error类中还有一些别的错误(参照文件Java.lang.Throwable.Error).

(2)Exception(异常)

一旦发生,可以捕获并处理,不会导致程序终止,有时可以避免有时无法避免。

异常的分类:

1.编译时异常(需要强制处理) 2.运行时异常(不需要强制处理)

常见的异常有:

IOException:输入输出流异常
FileNotFoundException:文件找不到的异常
ClassNotFoundException:类找不到的异常
DataFormatException:数据格式化异常
NoSuchFieldException:没有匹配的属性异常
NoSuchMethodException:没有匹配的方法异常

SQLException:数据库操作异常
TimeoutException:执行超时异常

常见的运行时异常:

RuntimeException:运行时异常
NullPointerException:空指针异常

:数组越界异

ClassCastException:类型转换异常
IllegalArgumentException:非法的参数异常
InputMismatchException:输入不匹配

以上是常见的一些异常,另外还有别的异常,参见文件:Java.lang.Throwable.Exception

既然我们常常会遇到一些异常,那我们如何来处理这些异常就是一个急需解决的事情。

(1) 如何处理编译时异常?

方法一:将需要处理的代码块放在一个try...catch...中
try{
//需要处理异常的代码
}catch(XXXException ef){
ef.printStackTrace();
}

我们方法一就是要将我们不确定的代码放入try......catch中,先进行try一下,如果没有异常,则不会触发catch,没有输出,一旦出现异常,那么catch就会工作,在catch中捕获异常信息,根据异常信息进行补救措施。

如以下代码:

从结果可以看出,我们在输入数据的时候出现错误,这样通过自定义异常能够让我们更直接快速的找到运行或编译时的异常。

在上述中我们分别提到了三种throw,分别是Throwable,Throws以及throw,那么到底三者有什么区别?

Throwable:是指在在Java.lang包中的一个类,其包含了所有的异常和错误,其中类Error和Exception 是它

的子类。

Thows:是指在解决编译时异常,将方法中异常抛给上一级,在方法后面要加Throw Exception来进行抛。

throw:是指在自定义异常时,如果方法出现异常,那么将作为引用方法的对象抛出。即抛出异常。

希望对您有所帮助!~

2. java编译异常有哪几个

编译异常是Exception下除了RuntimeException及其子类以外的所有子类
Java提供了两类主要的异常:RuntimeException和CheckedException.
checked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。
runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。
不管是不是RuntimeException 只要有异常 而且你还没try / catch 那他一定会中断执行 非RuntimeException 在编译的时候 编译器会帮你检查 有没有正确、完整的try / catch 如果没有 编译不过 RuntimeException 在编译的时候 不检查
参考自:http://m.blog.csdn.net/blog/zhou1216141078/12921609

3. java的异常分类有哪些

异常的分类:Throwable包含了错误(Error)和异常(Excetion两类)。Exception又包含了运行时异常(RuntimeException, 又叫非检查异常)和非运行时异常(又叫检查异常)。

Error是程序无法处理了, 如果OutOfMemoryError、OutOfMemoryError等等, 这些异常发生时, java虚拟机一般会终止线程。

运行时异常都是RuntimeException类及其子类,如 NullPointerException、IndexOutOfBoundsException等, 这些异常是不检查的异常, 是在程序运行的时候可能会发生的, 所以程序可以捕捉, 也可以不捕捉. 这些错误一般是由程序的逻辑错误引起的, 程序应该从逻辑角度去尽量避免。

检查异常是运行时异常以外的异常, 也是Exception及其子类, 这些异常从程序的角度来说是必须经过捕捉检查处理的, 否则不能通过编译. 如IOException、SQLException等。

4. java中到底有没有编译时异常,我老师说编译时异常时不存在的有的只是编译错误

你可以简单的理解一下,你再编译的时候编译器都不能通过的,就比如明显的语法错误。你老师说的就是这种。一般意思就是平常说异常都是运行时异常。在编译时候报出来的大红X都是错误了的东西,这时候你eclipsse都不能运行你这个.java

5. java异常问题

打印
Exception in method
After the method call

异常分两种:
1:编译时被检查的异常,只要是Exception及其子类都是编译时被检测的异常。
2:运行时异常,其中Exception有一个特殊的子类RuntimeException,以及RuntimeException的子类是运行异常,也就说这个异常是编译时不被检查的异常。
而RuntimeException的优先级比Exception 要高,所以在System.out.print(s.charAt(3));出错时,优先被RuntimeException处理掉了,而处理掉了异常,异常就被消耗了,上面就不需要捕获处理了,上面的调用便可以正常的运行下去。所以"After the method call"被打印

6. java 编译异常

错误代码:400 400错误是由于不正确的请求造成的,说明正在搜索的网页可能已经删除、更名或暂时不可用。 错误代码:401.1 401.1错误是由于登陆失败造成的,说明没有权限查看该目录或网页。 错误代码:401.2 401.2错误是由于服务器配置问题而导致登陆失败,由于服务器端脚本未能正确发送 WWW 身份验证头文件字段。如果要通过 Active Server Pages 脚本完成此项任务,可以使用"Response"对象的"AddHeader"方法来要求客户端用特定身份验证方法访问资源。 错误代码:401.3 401.3错误是由于资源上的 ACL 导致未被授权而无权访问网页或目录。 错误代码:401.4 401.4错误是由于筛选器导致授权失败。如果Web 服务器安装了筛选器程序以检查连接到服务器的用户。该筛选器程序能够禁止通过连接到服务器的身份验证来访问资源。 错误代码:401.5 401.5错误是由于 ISAPI/CGI 应用程序导致授权失败。如果所要访问的 Web 服务器地址上安装了 ISAPI 或 CGI 程序用于在继续执行之前检验用户证书。该程序能够禁止通过连接到服务器的身份验证证书来访问资源。 错误代码:403.1 403.1错误是由于"执行"访问被禁止而造成的,若试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序时便会出现此种错误。 错误代码:403.2 403.2错误是由于"读取"访问被禁止而造成的。导致此错误是由于没有可用的默认网页并且没有对目录启用目录浏览,或者要显示的 HTML 网页所驻留的目录仅标记为"可执行"或"脚本"权限。 错误代码:403.3 403.3错误是由于"写入"访问被禁止而造成的,当试图将文件上载到目录或在目录中修改文件,但该目录不允许"写"访问时就会出现此种错误。 错误代码:403.4 403.4错误是由于要求SSL而造成的,您必须在要查看的网页的地址中使用"https"。 错误代码:403.5 403.5错误是由于要求使用 128 位加密算法的 Web 浏览器而造成的,如果您的浏览器不支持128位加密算法就会出现这个错误,您可以连接微软网站进行浏览器升级。 错误代码:403.6 403.6错误是由于IP 地址被拒绝而造成的。如果服务器中有不能访问该站点的 IP 地址列表,并且您使用的 IP 地址在该列表中时您就会返回这条错误信息。 错误代码:403.7 403.7错误是因为要求客户证书,当需要访问的资源要求浏览器拥有服务器能够识别的安全套接字层 (SSL) 客户证书时会返回此种错误。 错误代码:403.8 403.8错误是由于禁止站点访问而造成的,若服务器中有不能访问该站点的 DNS 名称列表,而您使用的 DNS 名称在列表中时就会返回此种信息。请注意区别403.6与403.8错误。 错误代码:403.9 403.9错误是由于连接的用户过多而造成的,由于Web 服务器很忙,因通讯量过多而无法处理请求时便会返回这条错误。 错误代码:403.10 403.10错误是由于无效配置而导致的错误,当您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序时便会返回这条错误。 错误代码:403.11 403.11错误是由于密码更改而导致无权查看页面。 错误代码:403.12 403.12错误是由于映射器拒绝访问而造成的。若要查看的网页要求使用有效的客户证书,而您的客户证书映射没有权限访问该 Web 站点时就会返回映射器拒绝访问的错误。 错误代码:403.13 403.13错误是由于需要查看的网页要求使用有效的客户证书而使用的客户证书已经被吊销,或者无法确定证书是否已吊销造成的。 错误代码:403.15 403.15错误是由于客户访问许可过多而造成的,当服务器超出其客户访问许可限制时会返回此条错误。 错误代码:403.16 403.16错误是由于客户证书不可信或者无效而造成的。 错误代码:403.17 403.17错误是由于客户证书已经到期或者尚未生效而造成的。 错误代码:404.1 404.1错误表明所访问 Web 站点的 IP 地址不接受对端口(请求的来源端口)的请求。一般来说,404.1 错误只会出现在具有多个 IP 地址的计算机上。如果在特定 IP 地址/端口组合上收到客户请求,而且在特定的端口上 IP 地址并没有设置为侦听,则 IIS 将返回 404.1 HTTP 错误。例如,如果一台计算机有两个 IP 地址,而只将其中一个 IP 地址配置为在端口 80 上侦听,则其它 IP 地址从端口 80 收到的任何请求都将导致 IIS 返回 404.1 错误。只应在服务级设置这一错误,因为只有当服务器上使用多个 IP 地址时它才返回给客户。 错误代码:404b 404b错误是由于无法找到文件而造成的,通常是由于正在搜索的网页可能已经删除、更名或暂时不可用。 错误代码:405 405错误是由于资源被禁止而导致的网页地址不正确,因此要寻找的网页无法显示。 错误代码:406 406错误是由于浏览器无法打开正在寻找的资源而导致的错误。 错误代码:407 407错误是由于代理服务器必须先验证身份,然后才处理请求。 错误代码:410 410错误要寻找的网页已被永久删除而导致的,这意味着资源永远无法使用。 错误代码:412 412错误是由于要查看的网页设置有先决条件,因此该请求无法完成。一般是网页中有一个或多个请求标题字段中具有先决条件,这些字段经服务器测试后被认为是"FALSE"。客户端为当前资源的 meta 信息(头文件字段数据)设置了先决条件,以便防止请求的方法被用于指定资源外的其他资源。 错误代码:414 414错误是由于请求的 URI 太长,服务器拒绝处理请求而造成的。一般的可能性有: 1)客户端错误地将 POST 请求转换为带有长查询信息的 GET 请求。 2)或者是客户端遇到重定向问题(例如,重定向 URL 的前缀指向自身的后缀)。 3)服务器遭到客户端的攻击,该客户端试图利用那些使用定长缓冲来读取或控制请求 URI 的服务器上的安全漏洞。 错误代码:500 500错误是由于内部服务器错误造成的。 错误代码:500.11 500.11错误是由于服务器关闭而造成的资源无法访问,Web 站点关闭期间无法处理请求。 错误代码:500.12 500.12错误是由于应用程序重新启动而造成的资源暂时无法访问,Web站点重新启动期间无法处理请求。 错误代码:500.13 500.13错误是由于服务器太忙而造成的,此时无法处理请求。通讯量超出 Web 站点的能力。 错误代码:500.14 500.14错误是由于应用程序无效而造成的,部分 Web 站点不可用。Web 站点应用程序配置存在问题,无法处理请求。 错误代码:500.15 500.15错误是由于请求了不不允许请求的 global.asa而造成的,你可以编辑"地址"栏中的网址,删除 global.asa,然后按 Enter。来解决这个问题。 错误代码:502 502错误是由于网关错误而造成的,当作为网关或代理的服务器与上层内容服务器联络时,收到无效的响应时就会出现502错误。 错误代码:500-100.asp 500-100.asp错误是指ASP错误,默认情况下,"默认 Web 站点"及其所有应用程序都将 ASP 错误进程传送到 500-100.asp 文件;但是,用户创建的任何新 Web 站点或其应用程序都将 500.100 错误进程传送到默认的(不是自定义的)错误文件。如果要为 .asp 文件开发附加的错误进程,可以将 500-100 错误映射到 .asp 文件,或者创建自己的错误进程 .asp 文件。 500-100.asp 文件处理 .asp 文件编译和运行期间发生的任何错误。当发生 ASP 错误时,IIS 返回 500-100.asp 文件并附带详细的错误信息,如发生错误的行号和对错误的描述。 如果文件 500-100.asp 本身包含 ASP 错误,ASP 就不会返回另一个 500-100.asp 文件;这样,报告错误时就好象根本没有与 500-100 错误对应的自定义错误文件似的。 如果错误处理文件(默认是 500-100.asp)包含运行时错误,则只显示此错误,而不考虑请求的 .asp 文件中的错误类型。如果错误处理文件有预处理和编辑错误,则在浏览器中显示这两种错误(即,显示 500-100.asp 文件中的错误和请求的 .asp 文件中的错误)。 4.3. 枚举声明 java.lang.Thread.State 线程有以下几种状态:NEW(已创建但尚未开始执行)、RUNNABLE(正在Java虚拟机中执行)、BLOCKED(阻塞中:正等待获得监控锁)、WAITING(等待:无条件等候其他线程执行完毕,直到接收到唤醒通知)、TIMED_WAITING(限时等待:等候其他线程执行完毕,直到接收到唤醒通知或等待时间超过了时限)、TERMINATED(终止:线程已经退出)。4.4. 异常 java.lang.ArithmeticException 算术条件异常。譬如:整数除零等。 java.lang. 数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。 java.lang.ArrayStoreException 数组存储异常。当向数组中存放非数组声明类型对象时抛出。 java.lang.ClassCastException 类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。 java.lang.ClassNotFoundException 找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。 java.lang.CloneNotSupportedException 不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。 java.lang. 枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。 java.lang.Exception 根异常。用以描述应用程序希望捕获的情况。 java.lang.IllegalAccessException 违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。 java.lang.IllegalMonitorStateException 违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。 java.lang.IllegalStateException 违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。 java.lang.IllegalThreadStateException 违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。 java.lang.IndexOutOfBoundsException 索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。 java.lang.InstantiationException 实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。 java.lang.InterruptedException 被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。 java.lang.NegativeArraySizeException 数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。 java.lang.NoSuchFieldException 属性不存在异常。当访问某个类的不存在的属性时抛出该异常。 java.lang.NoSuchMethodException 方法不存在异常。当访问某个类的不存在的方法时抛出该异常。 java.lang.NullPointerException 空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。 java.lang.NumberFormatException 数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。 java.lang.RuntimeException 运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。 java.lang.SecurityException 安全异常。由安全管理器抛出,用于指示违反安全情况的异常。 java.lang. 字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。 java.lang.TypeNotPresentException 类型不存在异常。当应用试图以某个类型名称的字符串表达方式访问该类型,但是根据给定的名称又找不到该类型是抛出该异常。该异常与ClassNotFoundException的区别在于该异常是unchecked(不被检查)异常,而ClassNotFoundException是checked(被检查)异常。 java.lang.UnsupportedOperationException 不支持的方法异常。指明请求的方法不被支持情况的异常。

7. java什么时候是编译出错,什么时候会报异常呢

编译错时因为你写的语法不正确,报异常有时候是程序自身的错误 大部分是你程序逻辑有错误

8. 有关Java的RuntimeException

如果一个新手去一家软件公司面试,运行时异常与编译时异常是有很大概率要被问到的,这些属于基本概念。
1.RuntimeException,也就是运行时异常,表示你的代码本身存在BUG,比如你提到的,数组下标越界,这个属于代码有问题,数组定义的长度不够实际使用,不处理肯定会报错,如果你操作某个模块发现能正常运行,那只是因为代码还没跑到这个错误的地方而已。。控制台一旦报RuntimeException,就必须要处理。。没有例外的。而且,处理RuntimeException,不是try-catch能解决的。。try-catch在这里使用毫无意义。
2.不是RuntimeException,就是编译时异常,异常只有这两种了。比如你在处理文件流时的I/O问题,就属于编译时异常。这个时候用thr{}catch 来捕获或者 throws即可。
3.error,就不在这里赘述了。

根据实际开发经验的结论,纯手敲。。希望采纳

9. java 程序中的错误有三种类型分别是什么

错误,分为编码错误,运行错误,jvm内部错误。
编码错误在eclipse等开发工具 中可虚信以喊数直观的看到,这种错误比较少见。
运行错误,又称运行时异常,这是代码逻辑错误差渗轮导致的,发生这种错误时一定要静下心,从程序入口处寻找错误诱因。
jvm内部错误属于Java虚拟机内部错误,比较少见,发生这种错误时,建议重启计算机。

阅读全文

与java属于编译时异常的是相关的资料

热点内容
哪里有求购黄页的源码 浏览:193
商城矿机源码矿场系统 浏览:195
单片机的led灯熄灭程序 浏览:222
洛阳python培训 浏览:701
小键盘命令 浏览:192
单片机c语言返回主程序 浏览:816
dockerpythonweb 浏览:970
程序员算法有多强 浏览:717
pythonworkbook模块 浏览:245
什么app能查医生 浏览:175
轻量级的编程语言 浏览:338
程序员那么可爱生孩子 浏览:432
后缀him3加密文件是什么软件 浏览:984
坚果隐藏app为什么要140版本才能用 浏览:313
淘宝dns服务器地址 浏览:259
领英转型app哪个好用 浏览:943
压缩软件的图标 浏览:97
卖鞋哪个app是真的 浏览:469
python迭代是累计吗 浏览:419
程序员哪些平台接私活 浏览:175