标签: exception

什么时候构造函数抛出异常?

什么时候构造函数抛出异常?(或者在目标C的情况下:什么时候初始化者返回nil是正确的?)

在我看来,如果对象不完整,构造函数应该失败 - 因此拒绝创建对象.即,构造函数应该与其调用者签订合同,以提供一个功能和工作对象,可以在其上有意义地调用方法?这合理吗?

language-agnostic constructor exception

204
推荐指数
8
解决办法
6万
查看次数

如何解决java.lang.NoClassDefFoundError?

我在Oracle的Java教程中尝试过这两个例子.它们都编译得很好,但在运行时,都会出现这个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: graphics/shapes/Square
    at Main.main(Main.java:7)
Caused by: java.lang.ClassNotFoundException: graphics.shapes.Square
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more
Run Code Online (Sandbox Code Playgroud)

我想我可能将Main.java文件放在错误的文件夹中.这是目录层次结构:

graphics
? Main.java
? shapes
|   ? Square.java
|   ? Triangle.java
? linepoint
|   ? Line.java
|   ? Point.java
? spaceobjects
|   ? Cube.java
|   ? RectPrism.java
Run Code Online (Sandbox Code Playgroud)

这是Main.java:

import graphics.shapes.*;
import graphics.linepoint.*
import graphics.spaceobjects.*;

public class Main {
    public static void main(String …
Run Code Online (Sandbox Code Playgroud)

java packages exception noclassdeffounderror

203
推荐指数
7
解决办法
102万
查看次数

处理Java ExecutorService任务中的异常

我正在尝试使用Java的ThreadPoolExecutor类来运行具有固定数量线程的大量重量级任务.每个任务都有许多地方,在这些地方可能因异常而失败.

我已经进行了子类化,ThreadPoolExecutor并且我已经覆盖了该afterExecute方法,该方法应该在运行任务时提供任何未捕获的异常.但是,我似乎无法使其发挥作用.

例如:

public class ThreadPoolErrors extends ThreadPoolExecutor {
    public ThreadPoolErrors() {
        super(  1, // core threads
                1, // max threads
                1, // timeout
                TimeUnit.MINUTES, // timeout units
                new LinkedBlockingQueue<Runnable>() // work queue
        );
    }

    protected void afterExecute(Runnable r, Throwable t) {
        super.afterExecute(r, t);
        if(t != null) {
            System.out.println("Got an error: " + t);
        } else {
            System.out.println("Everything's fine--situation normal!");
        }
    }

    public static void main( String [] args) {
        ThreadPoolErrors threadPool = new …
Run Code Online (Sandbox Code Playgroud)

java multithreading exception executorservice threadpoolexecutor

201
推荐指数
6
解决办法
15万
查看次数

如何在JavaScript中创建自定义错误?

出于某种原因,看起来构造函数委派在以下代码段中不起作用:

function NotImplementedError() { 
  Error.apply(this, arguments); 
}
NotImplementedError.prototype = new Error();

var nie = new NotImplementedError("some message");
console.log("The message is: '"+nie.message+"'")
Run Code Online (Sandbox Code Playgroud)

运行这个给出The message is: ''.有关为什么,或者是否有更好的方法来创建新Error子类的任何想法?是否存在我不知道apply的本机构Error造函数的问题?

javascript exception

200
推荐指数
10
解决办法
13万
查看次数

python:我怎么知道发生了什么类型的异常?

我有一个主程序调用的函数:

try:
    someFunction()
except:
    print "exception happened!"
Run Code Online (Sandbox Code Playgroud)

但是在函数执行过程中它会引发异常,因此会跳转到该except部分.

我怎样才能确切地看到发生了什么someFunction()导致异常发生?

python exception

200
推荐指数
7
解决办法
16万
查看次数

如何使用try catch进行异常处理是最佳实践

在保持我同事的代码甚至是自称是高级开发人员的人的同时,我经常看到以下代码:

try
{
  //do something
}
catch
{
  //Do nothing
}
Run Code Online (Sandbox Code Playgroud)

或者有时他们将日志信息写入日志文件,如下面的try catch块

try
{
  //do some work
}
catch(Exception exception)
{
   WriteException2LogFile(exception);
}
Run Code Online (Sandbox Code Playgroud)

我只是想知道他们所做的是最佳做法吗?这让我感到困惑,因为在我看来,用户应该知道系统会发生什么.

请给我一些建议.

.net c# exception-handling exception try-catch

198
推荐指数
5
解决办法
32万
查看次数

何时选择已检查和未检查的例外

在Java(或任何其他具有已检查异常的语言)中,在创建自己的异常类时,如何确定是应该选中还是取消选中它?

我的直觉是,如果调用者能够以某种富有成效的方式恢复,那么将调用一个已检查的异常,其中未经检查的异常对于不可恢复的情况更多,但我会对其他人的想法感兴趣.

java exception checked-exceptions

197
推荐指数
10
解决办法
5万
查看次数

Java List.add()UnsupportedOperationException

我尝试将对象添加到List<String>实例,但它会抛出一个UnsupportedOperationException.有谁知道为什么?

我的Java代码:

String[] membersArray = request.getParameterValues('members');
List<String> membersList = Arrays.asList(membersArray);

for (String member : membersList) {
    Person person = Dao.findByName(member);
    List<String> seeAlso;
    seeAlso = person.getSeeAlso();
    if (!seeAlso.contains(groupDn)){
        seeAlso.add(groupDn);
        person.setSeeAlso(seeAlso);
    }
}
Run Code Online (Sandbox Code Playgroud)

错误消息:

java.lang.UnsupportedOperationException
    java.util.AbstractList.add(Unknown Source)
    java.util.AbstractList.add(Unknown Source)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

java exception list arraylist unsupportedoperation

197
推荐指数
3
解决办法
12万
查看次数

ethon中的e.printStackTrace等价物

我知道print(e)(其中e是异常)打印发生的异常但是,我试图找到相当于Java的python,e.printStackTrace()它确切地追踪它发生的行的异常并打印出它的整个痕迹.

有谁能告诉我相当于e.printStackTrace()Python?

python java exception stack-trace

193
推荐指数
4
解决办法
11万
查看次数

Exception.Message vs Exception.ToString()

我有记录的代码Exception.Message.但是,我读了一篇文章,说明最好使用它Exception.ToString().使用后者,您可以保留有关错误的更重要信息.

这是真的,继续更换所有代码记录Exception.Message是否安全?

我也在为log4net使用基于XML的布局.是否Exception.ToString()可能包含无效的XML字符,这可能会导致问题?

.net c# exception-handling exception

192
推荐指数
5
解决办法
11万
查看次数