问题列表 - 第6251页

Java - 必须抛出异常,但如何?

我在NetBeans中收到错误,说我必须在此方法中抛出SQLException:

private void displayCustomerInfo(java.awt.event.ActionEvent evt)                                     
{                                         
    int custID = Integer.parseInt(customerID.getText());
    String info = getCustomerInfo(custID);
    results.setText(info);
}
Run Code Online (Sandbox Code Playgroud)

此方法由NetBeans创建,因此不允许我编辑签名并抛出异常.这就是我创建getCustomerInfo()方法的原因.此方法会抛出异常,因为它使用一种方法从数据库中检索有关客户的信息.

public String getCustomerInfo(int cid) throws SQLException
{
    Customer c = proc.getCustomer(cid);
    // get info
    return "info";
}
Run Code Online (Sandbox Code Playgroud)

getCustomer方法还抛出异常和proc.java编译.

确切的错误是

unreported exception java.sql.SQLException; must be caught or declared to be thrown
Run Code Online (Sandbox Code Playgroud)

java sql exception

3
推荐指数
2
解决办法
1万
查看次数

在Java中构造函数之前初始化final变量

有没有在Java构造函数中使用final变量的解决方案?问题是,如果我初始化最终字段,如:

private final String name = "a name";
Run Code Online (Sandbox Code Playgroud)

那么我不能在构造函数中使用它.Java首先运行构造函数然后运行字段.有没有一个解决方案允许我访问构造函数中的最后一个字段?

java variables constructor final initialization

7
推荐指数
3
解决办法
4万
查看次数

TFS:将团队项目从一个服务器移动到另一个服务器?

是否有(简单)方法将单个TeamProject从一个服务器移动到另一个服务器?包括源代码,工作项,文档,项目网站......

我们不希望将服务器从一台机器移动到另一台机器.只是从服务器A到服务器B的单个项目.

tfs administration

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

WinForm UserControl的通用基类

我为WinForm UserControl创建了一个通用基类:

public partial class BaseUserControl<T> : UserControl
{
    public virtual void MyMethod<T>() 
    { 
        // some base stuff here 
    }
}
Run Code Online (Sandbox Code Playgroud)

以及基于以下内容的UserControl:

public partial class MyControl : BaseUserControl<SomeClass>
{
    public override void MyMethod<SomeClass>() 
    { 
        // some specific stuff here 
        base.MyMethod<SomeClass>();
    }
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但MyControl无法在VisualStudio Designer中进行编辑,因为它表示无法加载基类.我试图定义另一个类BaseUserControl,非泛型,希望它会加载它,但这个技巧似乎不起作用.

我已经有一个解决方法:定义一个接口,IMyInterface <T>,然后创建我的控件

public partial class MyControl : UserControl, IMyInterface<SomeClass>
Run Code Online (Sandbox Code Playgroud)

但是我失去了我的基本虚拟方法(不是很重要,但仍然......).

有没有办法为UserControl创建基础泛型类,有可能在VisualStudio Designer中编辑它?

c# visual-studio-2008 winforms

37
推荐指数
2
解决办法
1万
查看次数

我是否需要显式调用基本虚拟析构函数?

当用C++覆盖一个类(使用虚拟析构函数)时,我在继承类上再次将析构函数实现为虚拟,但是我是否需要调用基本析构函数?

如果是这样,我想它就是这样......

MyChildClass::~MyChildClass() // virtual in header
{
    // Call to base destructor...
    this->MyBaseClass::~MyBaseClass();

    // Some destructing specific to MyChildClass
}
Run Code Online (Sandbox Code Playgroud)

我对吗?

c++ destructor

327
推荐指数
7
解决办法
13万
查看次数

在C++中实例化对象的不同方法

这有什么区别:

Myclass *object = new Myclass();
Run Code Online (Sandbox Code Playgroud)

Myclass object = new Myclass();
Run Code Online (Sandbox Code Playgroud)

我已经看到很多C++库如wxWidgets,OGRE等使用第一种方法......为什么?

c++ object

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

如何在停止记录时对log4net进行故障排除

似乎Log4Net因为不明显的原因而无声地关闭,我不知道如何解决它.我的预感是特定的appender在特定的日志消息上失败并且似乎关闭了整个堆栈.

有没有办法让Log4Net抛出一个异常(至少在我们的调试阶段),而不是暂时关闭服务.

log4net

16
推荐指数
2
解决办法
4465
查看次数

如何使用gstreamer录制实时视频而不丢帧?

我正在尝试使用Python中的gstreamer 0.10同时显示v4l2视频源并将其记录到xvid-in-avi.在很长一段时间内,计算机的速度足够快,但如果另一个程序使用该磁盘则会丢帧.这已经足够糟糕了,但是在播放时,视频中有一些运动突发,其中帧被丢弃而不是显示我们能够以较低帧速率编码的帧.

管道是v4l2src ! capsfilter ! tee ! queue ! xvidenc ! avimux ! filesink,发球台也下沉到queue ! xvimagesink sync=false.我试过videorate在前面添加,xvidenc但这似乎让事情变得更糟.

我已经考虑将未压缩的视频假脱机到此管道中的磁盘并在后台线程中对其进行编码.我还能做些什么来解决这个问题?丢帧是xvidencavimux做错了?我可以大大增加编码器前队列的大小吗?

python linux gstreamer

4
推荐指数
1
解决办法
2939
查看次数

delete会调用析构函数吗?

我有一个类(A),它为其中一个字段使用堆内存分配.A类被实例化并作为指针字段存储在另一个类(B)中.

当我完成对象B时,我调用delete,我假设调用了析构函数...但是这也调用了A类中的析构函数吗?

编辑:

从答案中,我接受了(请编辑,如果不正确):

  1. class A B的实例调用B :: ~B();
  2. 哪个叫 class B
  3. delete 应该显式地将delete所有堆分配的成员变量A;
  4. 最后,存储所述B实例的内存块返回到堆中 - 当使用new时,它首先在堆上分配一块内存,然后调用构造函数来初始化它,现在在调用所有析构函数来完成对象之后对象所在的块返回到堆.

c++ destructor memory-management base-class delete-operator

161
推荐指数
5
解决办法
27万
查看次数

如何从对象列表中提取特定属性列表?

我有一个对象列表.对象有3个字符串属性.我想创建一个仅包含类中特定属性的列表.

有没有内置函数可以做到这一点?

python

31
推荐指数
4
解决办法
2万
查看次数