项目所遇到的异常

项目部署完毕发布之后

	1、404报错 访问资源不存在 http://localhost(:80)/xxx
		http://localhost:8080/  网络地址  localhost = 127.0.0.1
		www.baidu.com --> http://220.181.38.149:80/项目名/资源路径
			http://localhost:8080/项目名/资源路径 == 
				D:\工作\apache\apache-tomcat-8.5.57\webapps\manager\index.jsp
		http://220.181.38.149:80/  通过这些可以找到一个服务器  /项目名/资源路径
	
		项目名/资源路径名
		tomcat中WEB-INF文件夹下的内容,是不允许通过项目路径直接访问的;只能在项目内部进行访问;
			1.没有权限去访问当前资源,该路径也没有,需要修改为从项目内部进行访问,页面跳转;
			2.路径匹配的问题,
				修改项目部署的路径名称;
				修改当前资源所在的位置;
				修改打成的war包中的资源数据的位置;
				
	2、500报错 服务器内部异常
		Bug	写代码就写错了

Java中的异常体系

Java中所有异常问题 统称 Throwable
	1、Error	错误
		不属于程序员所把控的内容; 内存不够(等待GC进行垃圾回收,归还内存空间;直接加内存条) 内存溢出
	2、Exception	异常
		.java  -- javac 编译期异常 --> .class  -- java 运行期异常 --> 执行 
		checkedException	编译期异常
			无法将 .java 文件变成 .class 文件  
				IOException 操作 IO流 Input/Output数据  将数据从xx读取,写到xx地方去   
                	需要提前告知,如果没有这个地址,需要怎么去做;
				SQLException	数据库操作  SQL  Structured Query Language
					需要告知Java,如果这个语法不符合sql的语法,需要怎么去做;
				 java.lang.ClassNotFoundException	编译期异常
				 	通常在使用反射进行加载类的时候,会出现,这时属于编译期异常;
				 	
		runtimeException	运行期异常
			可以正常通过编译,可以变成一个.class文件,但是不能正常执行;
		

常见异常:

java.lang.ArithmeticException: 算数相关异常
	操作不符合运算的规则;
	解决:修改操作的数据,try...catch...解决

java.lang.ArrayIndexOutOfBoundsException: 数组下标越界
	获取数组元素,超过了数组本身的长度;
	解决:修改数组的长度,修改获取数据的下标数;

java.lang.NullPointerException 空指针异常
	java面向对象编程,让一个不存在的对象去干活,导致此异常;
	解决:给对象一个具体的内容,让具体内容去干活
	
java.lang.ClassCastException 类型转换异常
	发生在继承关系时,父类向子类转型( 向下转型 );
	解决:去掉强转,修改转向的数据类型;
	
java.lang.InstantiationException 初始化异常
	由于提供的构造方法无法进行初始化,没有相应的构造方法;
	解决:提供相应的构造方法;

java.lang.IllegalAccessException 非法访问异常
	对于不同的包中 被不同修饰符修饰的类,在外部进行访问时,所报的错误;注意要出现在private 缺省 protected中
	解决:扩大当前方法的权限修饰符,修改类之间路径;
	
java.lang.ClassNotFoundException(指定的类不存在)
	运行期异常:
		没有导入相应jar包,或者导入的jar版本不同,类的使用发生了变化,会出现此异常
		解决:导包,百度相应jar包进行下载;
	编译期异常:
		使用反射进行加载类时出现的;
		解决:try..catch解决

java.lang.IllegalArgumentException(方法的参数错误)
	例如g.setColor(int red,int green,int blue)这个方法中的三个值,如果有超过255的会出现这个异常,如果程序中存在这个异常,就要去检查一下方法调用中的参数传递或参数值是不是有错
	RGB(0~255,0~255,0~255);

java.lang.FileNotFoundException(文件未找到异常)
	当程序打开一个不存在的文件来进行读写时将会引发该异常。该异常由FileInputStream,FileOutputStream,
RandomAccessFile的构造器声明抛出,即使被操作的文件存在,但是由于某些原因不可访问,比如打开一个只有只读权限的文件并向其中写入数据,以上构造方法依然会引发异常
	解决;使用try...catch...

java.lang.ArrayStoreException(数组存储异常)
	当试图将类型为不兼容类型的对象存入一个Object[]数组时将引发异常

java.lang.NoSuchMethodException(方法不存在异常)
	当程序试图通过反射来创建对象,访问(修改或读取)某个方法,但是该方法不存在就会引发异常。

java.lang.EOFException(文件已结束异常)
	当程序在输入的过程中遇到文件或流的结尾时,引发异常。因此该异常用于检查是否达到文件或流的结尾

java.lang.InterruptedException(被中止异常)
	当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。

java.lang.CloneNotSupportedException (不支持克隆异常)
	当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常

java.lang.OutOfMemoryException (内存不足错误)
	当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误

java.lang.NoClassDefFoundException (未找到类定义错误)
	当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误

异常的处理

  try...catch...  捕获异常
    	if( boolean ){...}else{...}  只会执行一个代码块
    	try{
    		先执行1;
    	    先执行2}catch( 异常类型 ){
    		其他操作;
    	}finally{
    		不管有没异常都会执行; 最后执行
    	}
    	最多会执行两个代码块中的内容
    	
	throws抛出异常
		后面跟 异常类型 ,放在方法的参数后面 ( )thorws RuntimeException, xxx2 { }
			可以抛出多个异常,每个异常之间使用 , 隔开;
	thorw抛出异常
    	后面跟异常对象,放在方法体内,相当于return; 
    	throw new RuntimeException(); 后面不能跟任何内容;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值