Java中的异常类

Mar*_*ela 0 java exception-handling exception

异常处理:教授的直接引用,"尽管Exception类可以直接在程序中使用,但最好使用特定的异常类." 他没有多大意见,但我有兴趣了解别人的想法,如果他是对的,为什么?

Mar*_*ról 6

你的教授可能意味着扔掉SomeTypeException比投掷Exception一些短信更好.

为什么使用类型异常更好?

  1. 您可以捕获特定类型的异常.

    try {
        ...
    } catch(ExceptionType1 e) {
        ...
    } catch(ExceptionType2 e) {
        ...
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 方法抛出的异常类型为程序员提供有关该方法的有价值信息.

    void someMethod() throws SQLException, ParserException { ... }
    
    Run Code Online (Sandbox Code Playgroud)

    比以下更有意义:

    void someMethod() throws Exception { ... }
    
    Run Code Online (Sandbox Code Playgroud)