当前位置: 首页 > news >正文

网站开发实用技术介绍/怎么优化

网站开发实用技术介绍,怎么优化,驾校网站建设方案,wordpress免费主题破解版一、异常 1、什么是异常 Java语言将运行时发生的不正常严重错误称为异常,对异常的处理成为异常处理。下面举出两种不同的异常: public class Test {public static void main(String[] args) {System.out.println(1/0);Class.forName("");} } …

一、异常

    1、什么是异常

        Java语言将运行时发生的不正常严重错误称为异常,对异常的处理成为异常处理。下面举出两种不同的异常:

public class Test {public static void main(String[] args) {System.out.println(1/0);Class.forName("");}
}

        由于数学运算时分母不可为零,所以此时在执行是会发生异常;而下面的Class.forMame后面括号中不存在类名,所以会发生异常。

    2、异常的后果

        一旦发生异常:同级代码将午饭执行,如:

    此时程序的结果为:111加上后面的System.out.println(1/0);报错提示(java.lang.ArithmeticException: / by zero

    3、Java中异常的分类:

        一、父类:throwable方法,两个子类:Exception与Error(继承)   父类中的两个常用方法

                  1、public String getMessage():获取异常信息;

                  2、public void printStackTrace():输出异常堆栈中的异常信息

        二、由于Error类中的错误是Java 中的JVM进行处理,所以本节所论述是:Exception中的异常,其中Exception中的异常可以分为两类:运行时异常(RuntimeException)和检查时异常(除RuntimeException中的Exception其他全部子类)

        三、如何区分运行时异常和检查时异常

            1、运行时异常:

            在Eclipse中书写编写代码时运行时异常是不会报错的即可以javac编译成功,如:

 

            2、检查时异常

            检查时异常是不能被Javac编译通过的

        在Eclipse中可以Ctrl键点击找到异常的父类从而确定

二、检查异常

    1、关键字try catch finally 检查异常

            一、try {} catch(Exception e){} 的使用

            将try括号后面的错误类型被catch捕捉当做其后面的形参;此时再执行catch后面的代码,此时即便是try后面的代码异常,也可以向下进行;

		System.out.println(100);try{System.out.println(1/0);}catch(ArithmeticException e) {e.printStackTrace();}System.out.println(200);

            二、try 之后的catch可以使用多个:

		try{System.out.println(1/0);}catch(ArithmeticException e) {e.printStackTrace();}catch(NullPointerException e) {e.printStackTrace();}catch(Exception e) {e.printStackTrace();}

            此时在检查类型是,从最前面的catch往后执行,检查到第一个符合标准的执行后面的语句(此时注意,即便是try后面的语句中又不止一个异常,由于执行到第一个异常时出现的同级代码不执行原理,也就只能检查到一个

            提示:catch括号后面的参数的类级别必须由小到大:否则由于多态的缘故会出现无法访问的代码

            三、finally:

            finally必须和try搭配:此时无论其中的代码是否执行,均会执行finally后的代码

		try{System.out.println(1);}catch(ArithmeticException e) {e.printStackTrace();}catch(NullPointerException e) {e.printStackTrace();}catch(Exception e) {e.printStackTrace();}finally {System.out.println("可以有");}

            此时没有错误:但代码执行后:可以有

    2、使用log4j检查异常

    public static void main(String[] args) {for(int i=1;;i++) {try {System.out.println(1/0);}catch(ArithmeticException e){System.out.println(i);e.printStackTrace();}}}

运行结果第一行

        一、背景:在执行异常检测时,将异常信息打印控制台,存入一点缓存区中,缓存区饱满时,会删除前面的已有数据进而缓和数据,所以诞生了一个新的方法来将所有的异常检验全部导出:log4j

        二、如何使用log4j

            1、引入包(log4j-1.2.15.jar)

            2、在包中创建文件:log4j.properties

            3、在文件中输入下面的代码:

# DEBUG设置输出日志级别,由于为DEBUG,所以ERROR、WARN和INFO 级别日志信息也会显示出来
log4j.rootLogger=DEBUG,Console,RollingFile#将日志信息输出到控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern= [%-5p]-[%d{yyyy-MM-dd HH:mm:ss}] -%l -%m%n
#将日志信息输出到操作系统D盘根目录下的log.log文件中
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingFile.File=D://log.log
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p %-40.40c %X{traceId}-%m%n

            4、在异常检测的类中创建对象

     static Logger logger = Logger.getLogger(类名.class);

            5.在catch关键字后面添加 

        logger.info(e.getMessage(),e);

            6、执行程序,在D盘中找到log.log进行查看

            可以看出,同样是第一行,在控制台上已经删除了一部分;

        三、间歇性产生新日志文件

        在检查错误时往往会时创建的log.log文件过大而不方便使用,此时我们可以采用每一分钟创建一个新的log.log文件、从而是每个log文件变得很小,从而方便阅读;

# DEBUG设置输出日志级别,由于为DEBUG,所以ERROR、WARN和INFO 级别日志信息也会显示出来
log4j.rootLogger=DEBUG,RollingFile
#每天产生一个日志文件(RollingFile)  
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
#当天的日志文件全路径
log4j.appender.RollingFile.File=d:/logs/sirius.log
#服务器启动日志是追加,false:服务器启动后会生成日志文件把老的覆盖掉
log4j.appender.RollingFile.Append=true
#日志文件格式  
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout  
log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p %-40.40c %X{traceId}-%m%n
log4j.appender.RollingFile.Threshold=DEBUG
#设置每天生成一个文件名后添加的名称,备份名称:sirius.log.年月日时分.log
log4j.appender.RollingFile.DatePattern='.'yyyy-MM-dd-HH-mm'.log'

        程序执行成功

http://www.jmfq.cn/news/5090905.html

相关文章:

  • 网络科技官网/百度seo排名优
  • wordpress登录注册页面/seo建设招商
  • 推荐十个国外网站/天津抖音seo
  • 佛山正规网站建设报价/重庆森林讲了什么故事
  • web如何做网站/seo关键词优化排名外包
  • 上海羚凯网站建设/收录网站查询
  • wordpress to zblog/山西网络营销seo
  • 做2手物品通过网站去卖掉好做吗/seo优化排名百度教程
  • 从做系统网站的收藏怎么找回/茶叶网络推广方案
  • 高端网站建设公司哪家服务好/泰州网站优化公司
  • 寻找专业网站建设/口碑营销案例简短
  • 保定市做网站的电话/重庆关键词优化平台
  • 网站肯定被k/seo是什么工作
  • 美丽乡村建设规划文本网站/国际军事新闻最新消息今天
  • 天津外贸网站建设公司/网络推广收费价目表
  • 网站做一年了没做301/广东互联网网络营销推广
  • wordpress 读书模板/百度seo官网
  • 848给我做一下88网站/百度关键词自然排名优化公司
  • 北京响应式h5网站开发/windows优化大师使用方法
  • 如何创建网站目录/万江专业网站快速排名
  • web网页设计总结/长春seo关键词排名
  • 做展示空间设计的网站/网络营销常用的工具和方法
  • wap网站前台/广州网络营销运营
  • 衡阳做网站的公司/推广软文发布平台
  • 南京建设网页速成班/佛山百度快速排名优化
  • 郑州网站排名外包/文军seo
  • 网站qq代码/西安网站设计
  • 铜川哪些公司需要网页电商设计师/农大南路网络营销推广优化
  • 越南做It网站推广/站长查询域名
  • 网站页面设计流程/中国疾控卫生应急服装