再次提示对于参数验证使用断言.
对于入力参数应该是全部被考虑到的
(录入错误也应该在逻辑之内,
属于鲁棒性编程方法)
如有不正确那需要防御编程方法
防御编程目的是找出代码出问题的点
而不是业务需要.
在jvm中还有关闭断言的方法.
正式环境下关闭断言.
开发测试下打开断言
PS:如果真的去面试楼上的众人全军覆没
mercyblitz 写道
mathfox 写道
抛出异常的爱 写道
showr 写道
一个方法的参数,C里面好像是一堆的if else判断参数是否合法,不合法就返回一个没有实际意义的值
但在java里面有异常机制,当参数不合法的时候,究竟是if else 一样判断后返回一个值
还是直接来个Exception ?
如果是 if else 的话,有什么好处 ?
如果是 exception 的话,又有什么好处 ?
或者是根据不同情况来定 ?
一次面试的题目,至今无解,求真相
使用断言.
断言,不是也以抛异常做为结束吗?求讲解。
断言是错误,不是java.lang.Exception,它是java.lang.AssertionError。
很多框架使用的自定义断言,很少使用JVM断言机制。
heqishan 写道
抛出异常的爱 写道
再次提示对于参数验证使用断言.
对于入力参数应该是全部被考虑到的
(录入错误也应该在逻辑之内,
属于鲁棒性编程方法)
如有不正确那需要防御编程方法
防御编程目的是找出代码出问题的点
而不是业务需要.
在jvm中还有关闭断言的方法.
正式环境下关闭断言.
开发测试下打开断言
PS:如果真的去面试楼上的众人全军覆没
mercyblitz 写道
mathfox 写道
抛出异常的爱 写道
showr 写道
一个方法的参数,C里面好像是一堆的if else判断参数是否合法,不合法就返回一个没有实际意义的值
但在java里面有异常机制,当参数不合法的时候,究竟是if else 一样判断后返回一个值
还是直接来个Exception ?
如果是 if else 的话,有什么好处 ?
如果是 exception 的话,又有什么好处 ?
或者是根据不同情况来定 ?
一次面试的题目,至今无解,求真相
使用断言.
断言,不是也以抛异常做为结束吗?求讲解。
断言是错误,不是java.lang.Exception,它是java.lang.AssertionError。
很多框架使用的自定义断言,很少使用JVM断言机制。
还是不太明白。。。求详细解答。。。
参数不合法有两种可能
1.设计必须冗余错误参数 ....
2.使用此方法的地方参数录入错误.
对于2.你冗余了那么bug就会被隐藏.
所以不必要的冗余需要去掉.
一个方法只干一件事.
对于发现错误需要定位.
所以需要断言来产生定位信息
在正式环境下启动参数可以选反不使用断言.
(当然你要确定此方法使用的正确性,断言永远不会被运行到.)
分享到:
相关推荐
前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; 前端面试题:前端框架面试题大全; ...
Java作为一门广泛使用的编程语言,其面试题涵盖了众多的知识领域,包括基础语法、面向对象、集合框架、多线程、网络编程、IO流、异常处理、JVM内存模型、设计模式、数据库操作、Spring框架等。以下是对这些知识点的...
题型包含:判断题、单选题,多选题和面试题。这套资料共分为"语法","常识","界面","iOS","操作","数据结构","多线程","网络","多媒体","安全"十个篇章。 大家可以利用这些试题加强iOS开发的理论知识,当然对面试也是...
Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 Spring面试题 Spring Boot面试题 ...
Java作为一门广泛使用的编程语言,其面试题涵盖了基础语法、面向对象、集合框架、多线程、网络编程、异常处理、JVM、设计模式、数据库交互、Spring框架等多个方面。以下是对这些知识点的详细解析: 1. **Java基础**...
大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...
Java面试题全解析涉及的知识点非常广泛,覆盖了Java编程的多个重要模块和主题。在详细介绍前,我们首先要明白JDK和JRE的区别。JDK即Java Development Kit,是开发Java程序的环境,包含了编译器(javac)和运行环境...
在大学班委选举的经典面试题中,涉及到的多个知识点涵盖了领导力、团队协作、问题解决、自我认知、沟通技巧和责任担当等多个方面。以下是这些面试题所体现的关键知识点的详细说明: 1. **时间管理与优先级设定**:...
注意,只有题目没有回答:部分题目如下: 面试题1 介绍ASP.NET ...面试题10 什么是.NET中的私有程序集 私有程序集就是不同项目中生成的程序集,仅供本项目使用,或者可以经过配置被某一个其它项目的程序集引用。
面试题大全带答案这个资源无疑为准备Java面试的开发者提供了宝贵的参考资料。以下将详细解析标题、描述中涉及的一些关键知识点,并深入探讨其背后的原理和技术。 1. **Java基础**: - **变量与数据类型**:Java...
* 根据面试类型:可以将面试小抄面试题分为技术面试题、行为面试题、智慧面试题等。 * 根据面试难度:可以将面试小抄面试题分为简单、中等、困难三类。 * 根据面试领域:可以将面试小抄面试题分为IT面试题、金融面试...
适用人群:本面试题适用于所有想要参加技术面试的求职者,无论你是刚毕业的大学生还是有一定工作经验的开发者,都可以通过这些面试题来提升自己的面试能力。 使用场景及目标:本面试题可以在求职者准备技术面试的...
这份资源是一份2023年Java面试题集,适用于准备Java开发岗位面试的人员。本资源收集了大量的Java面试题,旨在帮助读者熟悉Java编程语言以及相关的编程技术和知识点,从而在面试中更好地展现自己的能力和潜力。本资源...
- **异常分类**:Java中的异常分为检查异常(Checked Exception)和运行时异常(Unchecked Exception)。 - **异常的抛出与捕获**:理解try-catch-finally语句块,知道如何使用throw关键字抛出异常。 - **自定义...
也就是说,当程序中可能出现这类异常时,倘若既"没有通过throws声明抛出它",也"没有用try-catch语句捕获它",还是会编译通过。 编译时异常:Checked Exception,需要在编译时检查的异常。Java编译器会检查它,并...
Java作为一门广泛使用的编程语言,其面试题涵盖了众多的知识领域,包括基础语法、面向对象、集合框架、多线程、异常处理、IO流、网络编程、设计模式、JVM内存模型以及框架应用等。以下是对这100道Java面试题可能涉及...
### 2024年Java面试题:Java异常方面的面试题 #### 核心知识点解析 **一、Java异常架构** 1. **`Throwable`**: - `Throwable`是Java语言中所有错误与异常的超类。 - `Throwable`有两个主要子类:`Error`和`...
2. **异常处理**:理解如何使用try-catch-finally块来捕获和处理异常,以及了解不同类型的异常,如运行时异常和检查性异常。 3. **集合框架**:面试中常见的主题包括List、Set、Map接口及其实现,如ArrayList、...
172份,7701页互联网大厂面试题 172份,7701页互联网大厂面试题 172份,7701页互联网大厂面试题
6. **异常处理**:了解如何使用try-catch块进行异常处理,理解不同类型的异常以及何时抛出异常。 7. **内联函数与函数重载**:内联函数用于优化代码,函数重载则允许同一函数名对应不同的参数列表,理解这两者的...