throws tells others that this method can throw an exception. Think of it as documentation. Checked exceptions must be part of a method's signature.

throw actually throws the exception. (throw new Exception(); first creates a new exception instance and then throws that instance. You could use two separate statements: Exception ex = new Exception(); throw ex;) You can throw both checked and unchecked exceptions with the throw keyword.

void checked() throws Exception { // required, Exception is a checked exception
  throw new Exception();
}

void unchecked() {
  throw new RuntimeException(); // throws not required, RuntimeException is not checked
}

void checkedCall() throws Exception {
  checked(); // throws required, because "checked" can throw a checked exception
}

void caught() {
  try {
    checked();
  } catch (final Exception ex) {
    // throws is no longer required, because the (checked) exception is handled within the method itself. It never leaves the method.
  }
}

Regarding your updated question: you don't throw new ArithmeticException, because it is thrown by the JVM when it tries to apply the / operator. You can throw it manually if you want to, but that's just redundant code.

Answer from knittl on Stack Overflow
๐ŸŒ
Unstop
unstop.com โ€บ home โ€บ blog โ€บ top 10 key differences between throw vs. throws in java
Top 10 Key Differences Between Throw Vs. Throws In Java // Unstop
February 10, 2025 - In Java, throw is used to trigger exceptions, while throws declares them in a method. throw is inside methods; throws lists potential exceptions.
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ java โ€บ difference-between-throw-and-throws-in-java
Difference Between throw and throws in Java
July 11, 2025 - You create an exception object and use throw to signal that an error has occurred. Used to manually throw an exception. Used inside a method. Can throw only one exception at a time.
Discussions

oop - Exception handling : Difference between throw vs throws in Java - Stack Overflow
Could someone explain me when it is useful to use the keyword throw new .. instead of using throws next to the signature of a method ? I know that when a method throws a Checked Exception. Java for... More on stackoverflow.com
๐ŸŒ stackoverflow.com
[Java] ELI5: the difference between "throws" and "throw"
Use "throw" to actually throw an exception. Tag a method "throws [exception type]" to declare that that exception can be thrown by the method; if it's a checked exception the calling method will either have to catch the exception, or pass it up the call chain further by also declaring "throws [whatever]". Checked exceptions are for potential problems that are impossible for the program to anticipate; unchecked (runtime) exceptions are for bugs in the code. So NullPointerException is unchecked because you should write your code such that you never try to dereference null, but IOException is checked because if someone else deletes a file while you're reading it, there's nothing your code could do to prevent that. You use try/catch blocks to deal with a checked exception when you're at a point where you can do something sensible: Preferences prefs; File prefsFile; try { } catch (IOException e) { Dialog.error("Error trying to read from the preferences file, using default preferences instead"); prefs = Preferences.getDefaultPreferences(); } More on reddit.com
๐ŸŒ r/learnprogramming
2
1
June 6, 2014
ELI5: The difference between "throws" and "throw"
Throw is used when you want to say "here's an exception, someone take care of it". Throws is used to tag methods as "these exceptions may occur here". You would use try/catch/finally blocks when you're dealing with methods that can have exceptions (for example, I/O like reading a file, socket, or database) and/or when you want to handle that exceptional situation ("when there's a problem reading this file, I'll create a log entry and stop the process" or "if there's an issue reading from the database, write the SQL to the console"). The finally is used for the "no matter what happens, I need to clean up after myself", such as closing files, database connections, etc. The try-with-resources is another possibility here (catch and finally are both optional based on necessity) that will handle the cleanup automatically (an implicit finally that closes the resource). More on reddit.com
๐ŸŒ r/javahelp
5
2
January 26, 2015
JAVA throws and throw?
Exceptions that are not a subclass of RuntimeException must be explicitly handled in Java. That way, you won't be surprised if someone forgets to put it in the comment or you forget to read the comment thoroughly. If your method calls a method that throws a particular exception, it's a compiler error unless you either catch the exception or declare that you throw that exception (which in turn forces any method that calls this method to deal with it). More on reddit.com
๐ŸŒ r/learnprogramming
3
1
May 17, 2021
๐ŸŒ
TutorialsPoint
tutorialspoint.com โ€บ difference-between-throw-and-throws-in-java
Difference between throw and throws in Java
Both throw and throws are the concepts of exception handing in which throw is used to explicitly throw an exception from a method or any block of code while throws are used in the signature of the method to indicate that this method might throw on
๐ŸŒ
Scaler
scaler.com โ€บ topics โ€บ difference-between-throw-and-throws
Difference between throw and throws in Java - Scaler Topics
March 26, 2024 - throw keyword indicates a problem with code execution. It is followed by an instance of Throwable. On the other hand, the throws keyword is used with the method declarations to indicate exceptions. Learn more on Scaler Topics.
๐ŸŒ
C# Corner
c-sharpcorner.com โ€บ article โ€บ difference-between-throw-and-throws-in-exception-handling
Difference between Throw and Throws in Exception Handling
August 25, 2025 - Use throw when you want to throw an exception inside a method. Use throws when you declare that a method may throw an exception. Both are integral to Javaโ€™s exception handling mechanism, but serve different purposes.
๐ŸŒ
Baeldung
baeldung.com โ€บ home โ€บ java โ€บ core java โ€บ difference between throw and throws in java
Difference Between Throw and Throws in Java | Baeldung
January 9, 2024 - The method may throw multiple exceptions. They are comma-separated at the end of a method declaration. We can put both, checked and unchecked exceptions in the throws. We have described the difference between them below.
Find elsewhere
๐ŸŒ
Blogger
javarevisited.blogspot.com โ€บ 2012 โ€บ 02 โ€บ difference-between-throw-and-throws-in.html
Difference between throw and throws in Exception handling - Java Example
Main difference between throw and throws is in there usage and functionality. where throws is used in method signature to declare Exception possibly thrown by any method, throw is actually used to throw Exception in Java code, here is an example of both throw and throws keyword which makes ...
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ java โ€บ throw-throws-java
throw and throws in Java - GeeksforGeeks
The throw keyword in Java is used to explicitly throw an exception from a method or any block of code. We can throw either checked or unchecked exception. The throw keyword is mainly used to throw custom exceptions.
Published ย  August 5, 2025
๐ŸŒ
Edureka
edureka.co โ€บ blog โ€บ throw-throws-throwable
Difference Between throw throws and throwable In Java | Edureka
August 5, 2019 - Throwable is a super class for all types of errors and exceptions in java. This class is a member of java.lang package. Only instances of this class or itโ€™s sub classes are thrown by the java virtual machine or by the throw statement.
๐ŸŒ
Techkluster
techkluster.com โ€บ java โ€บ java-throw-throws
Difference Between throw and throws in Java ~
August 16, 2023 - In this example, the methodWithThrows method is declared with a throws clause to indicate that it may throw both IOException and SQLException. The difference between throw and throws can be summarized as follows:
๐ŸŒ
W3Schools
w3schools.com โ€บ java โ€บ ref_keyword_throws.asp
Java throws Keyword
The throws keyword indicates what exception type may be thrown by a method. There are many exception types available in Java: ArithmeticException, ClassNotFoundException, ArrayIndexOutOfBoundsException, SecurityException, etc.
๐ŸŒ
Crunchify
crunchify.com โ€บ java j2ee tutorials โ€บ what is a difference between throw vs. throws in java
What is a Difference Between throw Vs. throws in Java โ€ข Crunchify
July 17, 2017 - If a method is throwing an exception, it should either be surrounded by a try catch block to catch it or that method should have the throws clause in its signature. Without the throws clause in the signature the Java JVM compiler does not know what to do with the exception.
๐ŸŒ
Testbook
testbook.com โ€บ home โ€บ key differences โ€บ difference between throw and throws in java - testbook.com
Difference between Throw and Throws in Java - Testbook.com
... Throw is used to explicitly throw an exception within a block of code or a method, while throws is used in a method signature to declare what exceptions a method can throw. The instance variable follows the throw keyword, while the exception ...
๐ŸŒ
W3Schools Blog
w3schools.blog โ€บ home โ€บ throw and throws in java
Difference between throw and throws in java?
April 23, 2018 - Difference between throw and throws in java : throw is used to throw an exception object explicitly. It can take only one argument and that will be an exception object.
๐ŸŒ
Shiksha
shiksha.com โ€บ home โ€บ it & software โ€บ it & software articles โ€บ programming articles โ€บ difference between throw and throws
Difference Between Throw and Throws - Shiksha Online
June 11, 2024 - The main difference between Throw and Throws keywords in Java programming is that you can use the Throw keyword to throw an exception explicitly in the code.
๐ŸŒ
Difference Between
differencebetween.com โ€บ difference-between-throw-and-vs-throws-in-java
Difference Between throw and throws in Java | Compare the Difference Between Similar Terms
October 16, 2019 - The difference between throw and throws in Java is that throw is a keyword used to explicitly throw an exception while throws is used to declare an exception.
๐ŸŒ
YouTube
youtube.com โ€บ watch
Mastering differences between Throw and Throws - YouTube
Welcome to another interesting interview questions: 1. What is the difference between throw and throws keyword in Exception Handling2. How to explicitly thro...
Published ย  October 20, 2023
๐ŸŒ
Java67
java67.com โ€บ 2012 โ€บ 10 โ€บ difference-between-throw-vs-throws-in.html
Difference between throw vs throws in Java? Answer | Java67
The throw keyword transfers control to the caller while throws are suggesting for information and compiler checking. See these free Java Programming courses to learn more about throw, throws, and in-general exception handling in Java.