我在C#中嵌入了IronPython 2.0。在IronPython中,我用以下命令定义了自己的异常:
def foobarException(Exception):
pass
并使用以下命令提升它:
raise foobarException( "This is the Exception Message" )
现在在C#中,我有:
try
{
callIronPython();
}
catch (Exception e)
{
// How can I determine the name (foobarException) of the Excepti
如何使用try catch处理symfony2中的错误,并像我们在C#中所做的那样将错误存储在自定义db表中。
例如
try
{
// code with exception.
}
catch(Exception ex)
{
//get the error and store information in table
}
我有类似以下代码的代码:
public void acquireReaderLock(int nmsMaxWait)
{
//'nmsMaxWait' = timeout in milliseconds
if(_mutex.WaitOne(nmsMaxWait))
{
//Need time left for the second wait?
if(_semaphore.WaitOne(???)
{
}
else
throw new Exceptio
我正在创建一个类来管理c#中的异常,并且我想创建一些调用超类的构造函数方法;这是我的类的定义:
class DataSourceNotFoundException: System.Exception
但是,因为在c#中没有超级方法,所以我应该调用什么来获取System.Exception的构造函数方法呢
我有C#作为我的前端应用程序,我想从我的c#调用c++ dll,但是我得到了错误。我在这里张贴我的代码,请帮我解决这个问题:
Program.cs
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestCSharp
{
class Program
{
[DllImport(&
我想做这样的事情:
abstract class Exception : ApplicationException
{
protected Exception(string _message) : base(_message)
{
}
public Exception()
: base()
{
}
}
class TException<P> : P
where P : Exception
{
static string messageStd;
public TE
我想知道如何用C#从派生类的构造函数中捕获异常。像这样的东西:
public class MyClassA
{
public MyClassA()
{
//Do the work
if (failed)
{
throw new Exception("My exception");
}
}
}
public class MyClassB : MyClassA
{
public MyClassB()
{
//How to catch ex
我在C#中遇到了如何处理try - catch中的错误的问题。
例如,我写了删除记录到数据库中的代码,但这条记录有FK到另一个表中。如何处理这个问题?
try
{
// delete record in database
}
catch (Exception ex)
{
int error = // how to get this code exception
}
我正在尝试将代码从java迁移到c#,但我遇到了代码语法问题。
因为在c#中不存在Class<?>,所以我需要在Class<?>中调用newInstance()
在java中,我有:
private final Map< String, Class< ? extends AbstractAI>> aiMap = new HashMap< String, Class< ? extends AbstractAI>>(); //line code i need to move
public final AI2 setupAI(
我有一个基类,它定义
public class BaseClass
{
public virtual bool StartUpdate( Interface )
{ some code here }
}
然后,创建一个实现接口的类
public ClientClass : Interface {}
在派生类中
public class DerivedClass : BaseClass
{
public override bool StartUpdate( ClientClass )
{ some code... }
}
编译器(c#)在DerivedClas
这个问题更多的是针对良好的设计实践,而不是异常和堆栈。我为一开始没有说清楚而道歉。
我想在C#中为我的类设置自己的异常。在Java中,以下概念是完全合法的,因此,如果您有一个堆栈的一些具体实现,您可以实现一致的错误处理(或任何其他类型的类)。
public interface IStack
{
bool IsEmpty();
int Pop();
void Push(int element);
int Size { get; set; }
int Top();
public class EmptyException : Exception
可能重复:
我知道C#中的异常处理:
try{
// code causing exception
}
catch(System.Exception e){
// Here e variable holds the information about the actual exception that has occured in try block.
}
但是,我想在VC++中实现samething ( VS 2008)。如何捕获类型的异常,这是在VC++中的try块中发生的,因为VC++中没有包的概念。
我正在尝试将C#中的以下类转换为Java。
Result是一个由泛型Result<T>类扩展的非泛型类.
它们的样本用途如下:
// When we only care if the operation was successful or not.
Result result = Result.OK();
// When we also want to store a value inside the Result object.
Result<int> result = Result.OK<int>(123);
在Java中,每个类都需要在自己的
我们有一个带有大量遗留代码的C++ (使用ATL)、VB6和最近的C#的项目。
我们最近将一个组件从C++移植到C#,它触发由C++、VB6和C#中的组件处理的事件。从理论上讲,这一切都是可行的,但是触发事件正在产生大量的System.NotImplementedExceptions。
我修改了激发事件的代码,以便它单独调用每个事件处理程序,这样一个对象的异常不会阻止它在下一个对象中调用事件处理程序。
if ( GeneratedChannelChange != null )
{
// Invoke each handler separately, so that an exception
以下代码在C# C++中的C++和catch中引发异常
throw std::exception ("a C++ exception");
当我在C#中捕获时,它给我提供了以下内容:
[SEHException (0x80004005): External component has thrown an exception.]
下面是我调用C++代码的方法
using Foo.Bar.Sample; //C++ library
....
Class1 class1 = new Class1(); //C++ class
class1.throwAnException();
在C#中,我发现异常消息不能为null,在尝试以下操作之后
var ex = new Exception(null);
Console.WriteLine(ex.Message);
我收到以下信息:
引发了“System.Exception”类型的异常。
但是,在这种情况下,
var ex = new Exception(string.Empty);
Console.WriteLine(ex.Message);
信息是空的。
这怎么解释?你认为这是预期的行为吗?
下面的代码是完全相同的,除了一个是C#,另一个是VB.Net。C#编译得很好,但是VB.Net抛出警告:
接口'System.IObserver(Of Foo)‘与另一个已实现的接口'System.IObserver(Of Bar)’不明确,原因是‘接口IObserver( in T)’中的' In‘和'Out’参数。
为什么VB.Net要显示警告而不是C#?最重要的是,我如何解决这个问题?
Obs:我在VisualStudio2010的基础上使用.Net框架4。
VB.Net代码:
Module Module1
Sub Main()
En