我使用C#.NET,vs 2008,.net 3.5
对我来说,很难,但我需要C#中的示例代码:
例如,在我的问题中.
我尝试删除文件,我得到"进程无法访问文件'XYZ',因为它正被另一个进程使用." 例外.
try
{
File.Delete(infoFichero.Ruta);
}
catch (IOException ex)
{
// ex.Message == "The process cannot access the file 'XYZ' because it is being used by another process."
}
Run Code Online (Sandbox Code Playgroud)
但如果.NET是西班牙语,我会得到"El proceso no puede obtener acceso alarchivo'00000004.PDF'polqueestásiendoutilizado en otro proceso"的消息.
System.IO.IOException: El proceso no puede obtener acceso al archivo '00000004.PDF' porque está siendo utilizado en otro proceso.
en System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
en System.IO.FileInfo.Delete()
Run Code Online (Sandbox Code Playgroud)
我需要一个错误代码用于该异常.在Trace中,我见过System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)
如何获取IOException的错误代码"进程无法访问文件'XYZ',因为它正由另一个进程使用."
我对此进行了相当多的搜索,但找不到任何令人满意的结果。
我一直在尝试编写一个 python 程序来监听电子邮件退回报告,并根据退回的原因以不同的时间间隔重新发送它们。
import smtplib
from smtplib import *
sender = 'foo@bar.com'
receivers = ['42@life.com']
message = """From: From Arthur <foo@bar.com>
To: To Deep Thought <42@life.com>
Subject: SMTP e-mail test
This is a test e-mail message.
"""
try:
smtpObj = smtplib.SMTP('smtp.gmail.com',587)
smtpObj.starttls()
smtpObj.login(sender,'foo@bar.com')
smtpObj.sendmail(sender, receivers, message)
print "Successfully sent email"
except SMTPResponseException:
error_code = SMTPResponseException.smtp_code
error_message = SMTPResponseException.smtp_error
print "Error code:"+error_code
print "Message:"+error_message
if (error_code==422):
print "Recipient Mailbox Full"
elif(error_code==431):
print "Server out of space"
elif(error_code==447):
print "Timeout. Try …Run Code Online (Sandbox Code Playgroud) 我的本地设置包括local apache-flink(通过brew安装)并localstack运行Kinesis服务。
我的 docker-compose 有
localstack:
image: localstack/localstack:0.10.7
environment:
- SERVICES=kinesis
ports:
- "4568:4568"
Run Code Online (Sandbox Code Playgroud)
和我的 Kinesis 消费者:
kinesisConsumerConfig.setProperty(ConsumerConfigConstants.AWS_ACCESS_KEY_ID, "123");
kinesisConsumerConfig.setProperty(ConsumerConfigConstants.AWS_SECRET_ACCESS_KEY, "123");
kinesisConsumerConfig.setProperty(ConsumerConfigConstants.AWS_ENDPOINT, "http://localhost:4568");
Run Code Online (Sandbox Code Playgroud)
但是当我运行 Flink 程序时,出现以下错误:
引起原因:org.apache.flink.kinesis.shaded.com.amazonaws.services.kinesis.model.AmazonKinesisException:null(服务:AmazonKinesis;状态代码:502;错误代码:null;请求 ID:null)
仅在使用时才会发生localstack。如果我连接到我的 AWS 账户上的 Kinesis 流,它会完美运行。
std::filesystem::exists用于检查“给定的文件状态或路径是否对应于现有文件或目录”。在我的代码中,我使用具有以下签名的定义:
bool exists( const std::filesystem::path& p, std::error_code& ec ) noexcept;
Run Code Online (Sandbox Code Playgroud)
我的问题是:如果函数返回布尔值true,我还需要检查错误代码的值吗ec?或者我可以假设,如果std::filesystem::exists返回true,则没有错误并且(bool)ec是false?
例如,假设我有以下内容:
std::error_code ec;
std::filesystem::path fpath = "fname";
bool does_exist = std::filesystem::exists(fpath, ec);
if (does_exist) {
...
}
Run Code Online (Sandbox Code Playgroud)
是否需要在区块(bool)ec == false内进行检查if (does_exist) { ... }?
我正在开发一个项目,我需要在工作失败的情况下返回错误代码.但是这样做的"规则"是什么?
例如:
if(tryDoUpload() == false) {
//upload failed
int UPLOAD_FAILED = 0x0;
}
Run Code Online (Sandbox Code Playgroud)
看0x0,是否有设置此错误代码的模式或我可以设置任何?
我希望这很清楚.
我必须在python中编写一个用Java编写的库.来自Java背景python让我有点困难.我坚持选择正确的pythonic方式做某事......
所以,我的java代码是这样的:
import java.util.Collection;
public abstract class MyEnumBaseClass
{
protected int value;
protected String description = null;
protected MyEnumBaseClass(int iValue, String iDescription)
{
value = iValue;
description = iDescription;
}
public int getValue()
{
return value;
}
public String getDescription()
{
return description;
}
protected static MyEnumBaseClass getEnum(Collection<MyEnumBaseClass> iter, int value)
{
for (MyEnumBaseClass enumObj : iter)
{
if (enumObj.getValue() == value)
{
return enumObj;
}
}
return null;
}
}
import java.util.ArrayList;
import java.util.Collection;
public class MyEnumClass extends MyEnumBaseClass …Run Code Online (Sandbox Code Playgroud) 我使用C++程序中的CreateProcess启动'net stop spooler'.它失败了,退出代码是259.
任何人都知道错误代码是什么意思?此外,如果有人可以给我一些关于此命令的可能错误代码及其含义的文档的链接,我会非常感激.
我从C++ DLL导出了一个方法,然后从VB.net表单应用程序中调用它.C++方法当前没有返回值(void)但我想改进它并返回一个表示一系列错误代码的int.(如果一切顺利,我计划返回零.)
定义这些错误代码的最佳位置在哪里以及如何?
我应该在CPP文件的顶部执行以下操作:
#define ERR_NEGATIVE_CELL_SIZE 1
#define ERR_INVALID_FILE_PATH 2
etc
Run Code Online (Sandbox Code Playgroud)
VB.net应用程序还将定义这些相同的代码,然后根据代码向用户显示UI消息.
显然我宁愿在DLL中抛出异常并在VB.net中捕获它(以及相关的异常消息),但这似乎不可能使用extern"C"__declspec(dllexport)方法.
很高兴听到其他设计模式.我还计划通过C++控制台可执行文件公开DLL方法,因此将错误消息一次存储在DLL中并将它们提供给控制台和UI应用程序是理想的选择.
这是我的主要方法:
public static void main(String... args) throws ClassNotFoundException {
String[] classAndMethod = args[0].split("#");
if (helpCmd(args)) {
printHelpForTest(classAndMethod[1]);
System.exit(0);
}
Result result = runTest(classAndMethod);
exitIfTimeOutExceptionThrown(result);
System.exit(result.wasSuccessful() ? 0 : 1);
}
private static void exitIfTimeOutExceptionThrown(Result result) {
boolean isTimeOut = Iterables.filter(result.getFailures(), CodeBlockTimeOutException.class).iterator().hasNext();
if (isTimeOut)
{
System.exit(2);
}
}
Run Code Online (Sandbox Code Playgroud)
运行此junit测试:
@Test
public void sendSearchRequest() throws Exception {
...
setTimeOut();
...
}
private void setTimeOut() {
if (criticalBlockTimeOut != null) {
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
throw …Run Code Online (Sandbox Code Playgroud) 我正在开发一个HTTP服务器作为Chrome应用程序,但我不知道如何解释陷入的错误代码:
chrome.sockets.tcp.onReceiveError.addListener( (info) =>
console.error( "Error on Receive: socket=%s, resultCode=%s", info.socketId, info.resultCode )
)
Run Code Online (Sandbox Code Playgroud)
有时我会得到以下错误info.resultCode = -100(当连接超时时).
我发现了一些Unix /套接字代码,但它们似乎不匹配,我在Google的Chrome App Dev网站上找不到任何内容.
这一个和这个可以匹配,但我不确定.例如,使用该注释的错误列表,我可以猜测error 10064是对应于我的-100 resultCode.
有人可以指导我找到正确的文件吗?
error-code ×10
c# ×2
c++ ×2
java ×2
python ×2
apache-flink ×1
c++17 ×1
delete-file ×1
dllexport ×1
exception ×1
file ×1
ioexception ×1
junit ×1
localstack ×1
python-2.7 ×1
qt ×1
smtp ×1
smtplib ×1
sockets ×1
tcp ×1
winapi ×1
windows ×1