`
fantasy
  • 浏览: 516162 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何处理异常?

    博客分类:
  • Java
阅读更多
当我们捕获到一个Exception时,如下
void init()
{
    try{
    loadFile();
     }
     catch(Exception e)
    {}
} 

那么我们首先应该分析,我能不能处理这个异常,
假如我能够处理,那么我就处理,并且记录日志。
假如我不能处理,那么应该继续向上抛出。

尽量使用uncheck异常,这样避免调用者强制处理这个异常。
使用uncheck异常,需要在注释里注明自己抛出的异常。
分享到:
评论
2 楼 fantasy 2006-12-29  
我昨天考虑了一下,
如果调用者能够处理这个异常,那么我们应该抛出checked异常,让客户端捕获并处理。
如果调用者不能够处理这个异常我们应该记录日志并且抛出一个uncheck异常,并在文档中申明我们所抛出的异常。
1 楼 schnell18 2006-12-29  
这要取决于你这段代码所处的应用情形以及loadFile()失败对整个执行流程的影响。如果这段代码要作为library被调用那么通常抛出一个checked exception或unchecked exception。如果这个段代码是entry point level的可以简单的抛出unchecked exception。如果loadFile()失败对整个执行流程没有关键影响,可以直接catch该exception,同时亦可以该异常记到日志文件中去。

相关推荐

    异常捕获与抛出的问题,什么时候应该try,什么时候应该throws

    * 是否需要在方法内部处理异常? * 是否需要记录日志? 结论 捕获异常和抛出异常是两种不同的机制,分别用于处理不同的异常场景。需要根据实际情况选择合适的异常处理策略,以确保程序的可靠性和稳定性。

    java异常处理试题及答案.doc

    * 如何正确地捕捉和处理异常? * 如何避免异常的出现? 九、Java 异常处理的应用场景 * 文件操作:读写文件时可能出现的异常,如文件不存在、读写权限不足等。 * 网络操作:网络连接时可能出现的异常,如连接超时...

    异常处理 异常处理 异常处理

    一个`__try`块包含了可能会抛出异常的代码,而`__except`块则包含处理异常的代码。值得注意的是,`__try`块后面必须跟一个`__except`或`__finally`块,但不能同时存在两者。然而,`__try`-`__except`块可以嵌套在`__...

    C#异常处理总结及简单实例

    C#异常处理总结及简单实例 一、异常处理的理解? 异常处理是指程序在运行过程中,发生错误会导致程序退出,这种错误,就叫做异常。 因此处理这种错误,就称为异常处理。 二、异常处理如何操作? C# 异常处理时建立在...

    2024年java面试题-java异常方面的面试题

    5. **如何处理异常?** - 使用`try-catch`结构捕获异常。 - 在方法签名中声明可能抛出的异常类型。 6. **异常链有什么作用?** - 异常链可以记录异常的原因和处理过程。 - 帮助开发者追踪异常的根本原因。 7. ...

    C语言的异常处理和C++的异常处理有何区别?

    `try`块同样包含可能抛出异常的代码,如果在`try`块内抛出了异常,程序会立即跳转到相应的`catch`块来处理异常。`catch`块可以捕获特定类型的异常,或者使用通配符`catch(...)`捕获所有类型的异常。C++的异常处理更...

    什么是Java中的异常处理机制?Java中的异常分为哪些类型?(java面试题附答案).txt

    通过合理地使用异常处理机制,我们可以捕获和处理异常,使程序在出现异常时能够以一种可控的方式进行处理,避免程序崩溃或产生不可预料的结果。这对于提高程序的健壮性和可维护性具有重要意义。

    C# WINFORM应用程序未处理异常的统一处理技巧

    异常处理是每个应用程序都会用到的,纵然在程序编写期间我们都会最大限度的考虑可能发生的异常并进行相应的处理,但是往往并不能完全考虑周全,百密一疏,出现未处理异常而导致程序出错,数据丢失,如用户输入错误...

    java异常处理习题

    * 异常处理的主要步骤是:抛出异常(throw) -> 捕捉异常(catch) -> 处理异常(finally)。 三、异常类的继承关系 * `Throwable` 是所有异常类的父类。 * `Error` 和 `Exception` 是 `Throwable` 的两个子类。 *...

    ARM处理器异常处理步骤

    ARM处理器异常处理是指ARM微处理器对各种异常情况作出响应和处理的过程。异常指的是处理器在正常执行程序时遇到的特殊情况,例如外部中断请求、未对齐的内存访问错误、指令预取终止等。为了保证系统的稳定性和正确性...

    易语言线程结构异常处理

    在易语言中,线程是并发执行的程序单位,线程结构异常处理是编程过程中非常重要的一环,因为线程可能会遇到各种异常情况,如内存访问错误、除零异常等。 线程结构异常处理源码是易语言中处理这些异常的关键部分。当...

    MySQL定义异常和异常处理详解

    MySQL中的异常处理是数据库编程中不可或缺的一部分,它允许开发者预设对可能出现的错误或异常的响应,从而确保程序的稳定性和健壮性。在MySQL中,异常定义和处理主要是通过`DECLARE`语句来实现的。 1. **异常定义**...

    使用Spring AOP对异常进行统一处理

    我们在捕获到异常并对异常进行处理时可能会遇到如下一些问题: 1.不确定应如何处理这些异常 2.需要记录异常日志时没有记录,或者异常在不同的地方重复记录,使得排错调试不方便 3.处理日志时,需要在每一个try-catch...

    异常处理.ppt异常处理.ppt异常处理.ppt异常处理.ppt异常处理.ppt

    - **捕获异常(Catching Exceptions)**:使用`try-catch`语句块来捕获并处理异常。`try`块包含可能会抛出异常的代码,而`catch`块则定义了如何处理特定类型的异常。 4. **异常类的层次**:Java中的异常类都继承自...

    Java面试题10道Java高级必备的Netty面试题!.pdf

    - 如何利用ChannelInboundHandlerAdapter来捕获和处理异常? 9. **Netty与NIO的区别** - Netty和Java NIO有何不同?为什么Netty比纯NIO更易用? - Netty解决了NIO中的哪些痛点? 10. **Netty的应用场景** - ...

    python异常处理.html

    什么是异常处理?什么情况下会发生异常?了解常见异常类,异常处理的语句,try ... except,多个except语句和一个except块

    Java面向对象程序设计 实验四 异常处理

    在这个实验中,我们将学习如何捕获并处理异常,并通过编写程序来验证自定义异常类的使用。 一、实验目的 异常处理是Java面向对象程序设计的一部分,掌握异常处理技术对于编写高质量的Java程序非常重要。在这个实验...

    数据分析中如何处理异常值?

    在数据分析中,异常值是指那些与数据集中的其他值相比显著偏离的数据点...这些异常值可能会对分析结果产生重大影响,因此处理异常值是数据清洗的重要步骤。以下是一些处理异常值的常见方法,以及相应的Python代码示例。

    易语言HOOK异常处理

    "New_SE_Handler"可能是一个新的结构化异常处理程序,结构化异常处理(SEH)是Windows操作系统中的一个特性,用于处理硬件和软件异常。 "GetSeAddr"可能是获取异常发生时的地址函数,这对于分析异常原因和定位问题...

Global site tag (gtag.js) - Google Analytics