AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

C bind() Fehlersuche

Ein Thema von A.Griffin · begonnen am 11. Mai 2017 · letzter Beitrag vom 11. Mai 2017
Antwort Antwort
A.Griffin

Registriert seit: 17. Feb 2017
94 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

C bind() Fehlersuche

  Alt 11. Mai 2017, 08:22
In den man-pages steht zu bind(), dass bei Erfolg 0 zurückgegeben wird und bei einem Fehler -1. Darunter steht eine Liste mit Fehlern die kommen können. Wenn ich nun bind() in einem Programm aufrufe und es einen Fehler gibt, wie finde ich heraus welcher von den in der Liste vorkommenden Fehlern nun der aufgetretene ist?
  Mit Zitat antworten Zitat
BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#2

AW: C bind() Fehlersuche

  Alt 11. Mai 2017, 08:29
Hey
Das sind einfach vordefinierte Makrokonstanten. Das ist einfach ein numerischer Wert, den du mit dem Errorcode normal über "if" vergleichen kannst.

Gruß, Brighty
Do you have the email of god??? --- I have to tell him that I'm happy to be born!

Geändert von BrightAngel (11. Mai 2017 um 08:31 Uhr)
  Mit Zitat antworten Zitat
A.Griffin

Registriert seit: 17. Feb 2017
94 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: C bind() Fehlersuche

  Alt 11. Mai 2017, 08:37
Also obwohl bind() nur -1 zurückgibt kann ich einfach errno.h includen und dann mit

Code:
if ( errno == EACCES )
{
fprintf(stderr, "The address is protected, and the user is not the superuser.")
}
das abfragen oder wie meinst du es sonst?

*edit*

Ich habe jetzt gefunden, dass man es so machen kann:
Code:
printf("Oh dear, something went wrong! %s\n", strerror(errno));
Wie würde ich das mit fprintf nutzen? Einfach so?:

Code:
fprintf(stderr, "Oh dear, something went wrong! %s\n", strerror(errno));

Geändert von A.Griffin (11. Mai 2017 um 08:53 Uhr) Grund: Zusätzliche Frage
  Mit Zitat antworten Zitat
BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#4

AW: C bind() Fehlersuche

  Alt 11. Mai 2017, 09:08
Ah! Du wolltest den Fehlerstring ausgeben. War davon ausgegangen, dass du in einem bestimmten Fehlerfall als Fallback dich anders verhalten willst

Jup. So hatte ich das im Kopf. Wollte dir Code schreiben, aber am Handy ist das immer ein wenig umständlich...

Ich habe oft eine separate Funktion definiert, die dann das Errorhandling macht oder gebe je nach Anwendungsfall den Fehler aus meiner Funktion zurück. Ich persönlich mag die globale errno nicht sonderlich, da sie von anderen Calls mitverwendet wird...

Brighty
Do you have the email of god??? --- I have to tell him that I'm happy to be born!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz