异常、断言、日志

  1. 处理异常错误

    1)异常对象都是派生于Throwable类的一个实例,分成Error和Exception。

    2)Error描述java运行时系统的内部错误和资源耗尽错误。应用程序不应该抛出这种异常。

    3)Exception又分为IOException和Runtime Exception两种,Runtime Exception这种是由于程序错误导致的,一般有错误的类型转换、数组访问越界、访问null指针导致的,像Error和Runtime Exception这两种异常称为非受查异常,不必去捕获。

    4)IOException这种是程序本身没有问题,称为受查异常,编译器将为这些提供异常处理器。

    5)如果超类方法没有抛出任何受查异常,子类也不能抛出任何受查异常。

    6)带资源的try语句:try(Scanner in=new Scanner(new FileInputStream("word")),"utf-8")当这个块正常退出时,或者存在异常时,都会调用in.close()方法。

  2. 断言:断言机制允许程序在测试期间向代码插入一些检查语句,。当代码发布时,这些插入的检查语句将会被自动地移走。

    assert 条件;

    assert 条件:表达式;

    如果结果为false,则抛出一个AssertionError异常。

    默认情况下,断言被禁用,java -enableassertions APP 启动断言;启动或者禁用断言是类加载器的功能。

时间: 2024-10-25 07:47:54

异常、断言、日志的相关文章

[core java学习笔记][第十一章异常断言日志调试]

第11章 异常,断言,日志,调试 处理错误 捕获异常 使用异常机制的技巧 使用断言 日志 測试技巧 GUI程序排错技巧 使用调试器 11.1 处理错误 11.1.1异常分类 都继承自Throwable类 分成Error和Exception Error类 描写叙述了Java运行时系统的内部错误和资源耗尽错误. 应用程序不应该抛出此种类型的错误.假设出现了这样的内部错误.除了通告给用户,并尽力使程序安全地终止外,再也无能为力 Exception层次结构:最需关注的 RuntimeException

Java基础语法<十一> 异常 断言 日志 调试

1 处理错误 1.1 异常分类 Error类层次描述了Java运行时系统的内部错误和资源耗尽错误. 设计Java程序时,主要关注Exception层次结构. 由程序错误导致的异常属于RuntimeException ,而程序本身没有问题,但由于像I/O错误这类问题导致的异常属于其他异常. RuntimeException包含下面几种情况: 错误的类型转换 ClassCastException 数组访问越界 ArrayIndexOutOfBoundsException 访问空指针 NullPoin

第十一章 异常,日志,断言和调试

第十一章 异常,日志,断言,调试 由于程序的错误或一些外部环境的影响造成用户数据的丢失,用户就有可能不再使用这个程序了.为了避免,应该做到以下几点: 向用户通告错误 保存所有的操作结果 允许用户以适当的形式退出程序. 11.1 处理异常 当由于出现错误而使得某些操作没有完成,程序应该: 返回到一种安全状态,并能够让用户执行一些其他命令:或者 允许用户保存所有操作的结果,以适当的方式终止程序 异常处理的任务就是将控制权从错误产生的地方转移给能够处理这种错误的处理器.程序中可能出现的错误和问题: 用

C# winform程序将异常写入日志的方法

转载地址:夏日里的春天的博客 http://hi.baidu.com/honfei/item/3a6f212998910099b73263b5 //出错之后计入日志文件        private void SqlConnError(SqlException e2)        {            //如果是同一天的话,则打开文件在末尾写入.如果不是同一天,则创建文件写入文件 //判断是否存在文件            if (File.Exists(DateTime.Today.To

WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作)

WebAPI 用ExceptionFilterAttribute实现错误(异常)日志的记录(log4net做写库操作) 好吧,还是那个社区APP,非管理系统,用户行为日志感觉不是很必要的,但是,错误日志咱还是得记录则个.总不能上线后报bug了让自己手足无措吧,虽然不管有木有错误日志报bug都是件很头疼的事... 我们知道webAPI也有好几个Filter,上篇文章我们做token与权限用到了ActionFilterAttribute,这次我们用ExceptionFilterAttribute来做

jfinal统一的异常及日志处理的拦截器

最近在用轻量级Java web开发框架jfinal开发一个网站,由于网站是sns类型很多ajax交互请求. 考虑简化冗余代码,写了一个统一的异常及日志处理的拦截器. 自适配ajax请求和普通定向请求,输出错误信息. 直接上代码吧 package com.smhaochi.web.interceptor; import java.util.Date; import java.util.Map; import java.util.Set; import javax.servlet.http.Http

SVN操作异常解决日志

1 svn locked某个目录-无法进行更新 产生这种情况大多是因为上次svn命令执行失败且被锁定了.如果cleanup没有效果的话只好手动删除锁定文件. 在命令提示符下cd 到svn项目出现问题的文件所在目录下,然后执行如下命令 del lock /q/s 就把锁删掉了.如图所示: 2.svn remains in conflict错误解决 情形:当有人在对某文件进行修改,假设为A文件,并提交至svn服务器,如果此时你正在修改A页面,并对其进行更新.会出现一些残余文件信息.如果在未删除这些文

(转)python自动化测试之异常及日志

为了保持自动化测试用例的健壮性,异常的捕获及处理,日志的记录对掌握自动化测试执行情况尤为重要,这里便详细的介绍下在自动化测试中使用到的异常及日志,并介绍其详细的用法. 一.日志 打印日志是很多程序的重要需求,良好的日志输出可以帮我们更方便的检测程序运行状态.Python标准库提供了logging模块,切记Logger从来不直接实例化,其好处不言而喻,接下来慢慢讲解Logging模块提供了两种记录日志的方式. 1.logging之模块级别的函数方式记录日志: import logging #设置日

PHP 错误与异常的日志记录

提到 Nginx + PHP 服务的错误日志,我们通常能想到的有 Nginx 的 access 日志.error 日志以及 PHP 的 error 日志.虽然看起来是个很简单的问题,但里面其实又牵扯到应用配置以及日志记录位置的问题,如果是在 ubuntu 等系统下使用 apt-get 的方式来安装,其自有一套较为合理的的配置文件可用.再者运行的应用程序中的配置也会影响到日志记录的方式及内容. 错误与异常的区别 关于错误与异常,我们可以用一个简单的例子来理解: <?php try { 1 / 0;

c#实现把异常写入日志示例(异常日志)

将异常写到日志文件中,可以在调试程序的时候知道程序发生过哪些异常,并且可以知道异常发生的位置.这点对需要进行长时间运行并调试的程序尤为有效. 1 /// <summary> 2 /// 将异常打印到LOG文件 3 /// </summary> 4 /// <param name="ex">异常</param> 5 /// <param name="LogAddress">日志文件地址</param&g