How to throw RuntimeException (“cannot find symbol”)

后端 未结 9 1219
别跟我提以往
别跟我提以往 2021-02-03 18:47

I\'m trying to throw an exception in my code like this:

throw RuntimeException(msg);

But when I build in NetBeans I get this error:

<         


        
9条回答
  •  青春惊慌失措
    2021-02-03 19:23

    As everyone else has said, instantiate the object before throwing it.

    Just wanted to add one bit; it's incredibly uncommon to throw a RuntimeException. It would be normal for code in the API to throw a subclass of this, but normally, application code would throw Exception, or something that extends Exception but not RuntimeException.

    And in retrospect, I missed adding the reason why you use Exception instead of RuntimeException; @Jay, in the comment below, added in the useful bit. RuntimeException isn't a checked exception;

    • The method signature doesn't have to declare that a RuntimeException may be thrown.
    • Callers of that method aren't required to catch the exception, or acknowlege it in any way.
    • Developers who try to later use your code won't anticipate this problem unless they look carefully, and it will increase the maintenance burden of the code.

提交回复
热议问题