-
Notifications
You must be signed in to change notification settings - Fork 478
Description
commit 849cd420a78bbb1a246a86097f108a67a4315abf (HEAD -> user/smasetty/codeTuning, 1st-edition)
Author: Sharat Masetty smasetty@microsoft.com
Date: Fri Jun 20 17:06:19 2025 +0530
refactor: use custom error types and simplify error handling
- DNS resolver now returns DnsError instead of Box<dyn Error>
- Leverage From trait for cleaner error propagation
diff --git a/ch8/ch8-mget/src/dns.rs b/ch8/ch8-mget/src/dns.rs
index 4d4fdf3..3d6395e 100644
--- a/ch8/ch8-mget/src/dns.rs
+++ b/ch8/ch8-mget/src/dns.rs
@@ -38,7 +38,7 @@ impl std::error::Error for DnsError {} // <1>
pub fn resolve(
dns_server_address: &str,
domain_name: &str,
-) -> Result<Optionstd::net::IpAddr, Box> {
+) -> Result<Optionstd::net::IpAddr, DnsError> {
let domain_name =
Name::from_ascii(domain_name)
.map_err(DnsError::ParseDomainName)?;
diff --git a/ch8/misc/wraperror2.rs b/ch8/misc/wraperror2.rs
index 645e5ca..0695ec4 100644
--- a/ch8/misc/wraperror2.rs
+++ b/ch8/misc/wraperror2.rs
@@ -29,8 +29,8 @@ impl Fromnet::AddrParseError for UpstreamError {
}
fn main() -> Result<(), UpstreamError> {
- let _f = File::open("invisible.txt").map_err(UpstreamError::IO)?;
- let _localhost = "::1".parse::().map_err(UpstreamError::Parsing)?;
-
let _f = File::open("invisible.txt")?;
-
let _localhost = "::1".parse::()?;
Ok(())
}
\ No newline at end of file
Did not create a new PR as it was against the guidelines of this repository. Please consider pulling this change @timClicks . Thanks