mirror of
https://github.com/MoleskiCoder/EightBitNet.git
synced 2025-02-19 01:30:29 +00:00
More exception tidying
This commit is contained in:
parent
da56e79784
commit
ee0fd13ad5
@ -57,10 +57,7 @@
|
||||
|
||||
public void AddLabel(Symbol symbol)
|
||||
{
|
||||
if (symbol.Type != "lab")
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(symbol), symbol, "Not a label");
|
||||
}
|
||||
ArgumentOutOfRangeException.ThrowIfNotEqual("lab", symbol.Type, nameof(symbol));
|
||||
this.Labels.Add(symbol);
|
||||
this.AddAddress(symbol);
|
||||
}
|
||||
@ -108,10 +105,7 @@
|
||||
|
||||
public void AddEquate(Symbol symbol)
|
||||
{
|
||||
if (symbol.Type != "equ")
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(symbol), symbol, "Not an equate");
|
||||
}
|
||||
ArgumentOutOfRangeException.ThrowIfNotEqual("equ", symbol.Type, nameof(symbol));
|
||||
this.Equates.Add(symbol);
|
||||
this.AddConstant(symbol);
|
||||
}
|
||||
@ -315,7 +309,7 @@
|
||||
|
||||
if (!this._parsed.TryGetValue(key, out var parsed))
|
||||
{
|
||||
throw new InvalidOperationException($"Debugging section: '{key}' is unavailable");
|
||||
throw new ArgumentOutOfRangeException(nameof(key), key, "Debugging section is unavailable");
|
||||
}
|
||||
|
||||
Debug.Assert(into.Count == 0);
|
||||
@ -409,11 +403,8 @@
|
||||
|
||||
private void ParseLine(string[] elements)
|
||||
{
|
||||
Debug.Assert(elements != null);
|
||||
if (elements.Length != 2)
|
||||
{
|
||||
throw new InvalidOperationException("Invalid symbol file format (definition does not have section/values format)");
|
||||
}
|
||||
ArgumentNullException.ThrowIfNull(elements, nameof(elements));
|
||||
ArgumentOutOfRangeException.ThrowIfNotEqual(elements.Length, 2, nameof(elements));
|
||||
|
||||
var key = elements[0];
|
||||
var parts = elements[1].Split(',');
|
||||
|
@ -95,10 +95,10 @@
|
||||
protected string? MaybeTakeString(string key) => this._strings.TryGetValue(key, out var value) ? value : null;
|
||||
protected List<int>? MaybeTakeMultiple(string key) => this._multiples.TryGetValue(key, out var value) ? value : null;
|
||||
|
||||
protected int TakeInteger(string key) => this.MaybeTakeInteger(key) ?? throw new InvalidOperationException($"Section is missing an integer entry named {key}");
|
||||
protected long TakeLong(string key) => this.MaybeTakeLong(key) ?? throw new InvalidOperationException($"Section is missing a long integer entry named {key}");
|
||||
protected string TakeString(string key) => this.MaybeTakeString(key) ?? throw new InvalidOperationException($"Section is missing a string entry named {key}");
|
||||
protected List<int> TakeMultiple(string key) => this.MaybeTakeMultiple(key) ?? throw new InvalidOperationException($"Section is missing a multiple entry named {key}");
|
||||
protected int TakeInteger(string key) => this.MaybeTakeInteger(key) ?? throw new ArgumentOutOfRangeException(nameof(key), key, "Missing integer entry in section");
|
||||
protected long TakeLong(string key) => this.MaybeTakeLong(key) ?? throw new ArgumentOutOfRangeException(nameof(key), key, "Missing long integer entry in section");
|
||||
protected string TakeString(string key) => this.MaybeTakeString(key) ?? throw new ArgumentOutOfRangeException(nameof(key), key, "Missing string entry in section");
|
||||
protected List<int> TakeMultiple(string key) => this.MaybeTakeMultiple(key) ?? throw new ArgumentOutOfRangeException(nameof(key), key, "Missing multiple entry in section");
|
||||
|
||||
protected static string ExtractString(string value) => value.Trim('"');
|
||||
protected static string ExtractEnumeration(string value) => value;
|
||||
@ -111,6 +111,7 @@
|
||||
protected static int ExtractInteger(string value) => ExtractNumericValue<int>(value);
|
||||
protected static long ExtractLong(string value) => ExtractNumericValue<long>(value);
|
||||
protected static List<string> ExtractCompoundString(string value) => new(value.Split('+'));
|
||||
|
||||
protected static List<int> ExtractCompoundInteger(string value)
|
||||
{
|
||||
var elements = ExtractCompoundString(value);
|
||||
|
Loading…
x
Reference in New Issue
Block a user